/* =========================================================
   SONNITECH · SGI — style.css
   Identidade industrial / tecnológica / corporativa
   ========================================================= */

:root{
  /* ---- Paleta principal (do briefing) ---- */
  --industrial:      #263D4B;   /* Azul industrial  */
  --industrial-deep: #0f1b22;   /* fundo escuro tech */
  --industrial-700:  #1b2d38;
  --glacial:         #2991A4;   /* Azul glacial      */
  --leaf:            #2E8544;   /* Verde folha (cometa) */
  --comet:           #2E8544;

  --ink:        #1E1E1E;        /* Preto grafite */
  --ink-2:      #3A3A3A;        /* Preto chumbo  */
  --urban:      #6D6D6D;        /* Cinza urbano  */
  --tech-gray:  #A8A8A8;        /* Cinza técnico */
  --neutral:    #D3D3D3;        /* Cinza neutro  */
  --fog:        #DADADA;        /* Cinza nevoeiro */
  --ice:        #ECECEC;        /* Branco gelo   */
  --cloud:      #F7F7F7;        /* Branco nuvem  */
  --sand:       #F2E4C7;        /* Areia suave   */

  --orange:     #FF9500;        /* Laranja atenção */
  --red:        #8B0000;        /* Vermelho escuro */

  /* ---- Tokens semânticos ---- */
  --bg:         var(--cloud);
  --surface:    #ffffff;
  --text:       var(--ink);
  --text-soft:  var(--urban);
  --line:       #e3e6e8;

  /* ---- Tipografia ---- */
  --font-display: "Space Grotesk", system-ui, sans-serif;
  --font-body:    "Inter", system-ui, sans-serif;

  /* ---- Layout ---- */
  --wrap: 1200px;
  --radius: 16px;
  --radius-sm: 10px;
  --ease: cubic-bezier(.19,1,.22,1);

  --shadow-soft: 0 10px 40px rgba(38,61,75,.08);
  --shadow-card: 0 18px 60px rgba(20,32,40,.14);
}

/* ---------- Reset / base ---------- */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:clamp(20px,5vw,40px); }

/* trava o scroll durante o preload */
body.is-loading{ overflow:hidden; height:100vh; }

/* ---------- Cabeçalhos de seção ---------- */
.section-head{ margin-bottom:clamp(36px,5vw,64px); }
.section-head--center{ text-align:center; max-width:640px; margin-inline:auto; }
.eyebrow{
  display:inline-block; font-family:var(--font-display);
  font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--glacial); margin-bottom:14px; font-weight:600;
}
.eyebrow--light{ color:#7fd0de; }
.section-title{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(2rem,4.6vw,3.6rem); line-height:1.04;
  letter-spacing:-.02em; margin:0; color:var(--industrial);
}
.section-title--light{ color:#fff; }
.section-sub{ color:var(--text-soft); margin-top:16px; font-size:1.05rem; }

/* ---------- Botões ---------- */
.btn{
  --b:0;
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-display); font-weight:600;
  font-size:.82rem; letter-spacing:.06em; text-transform:uppercase;
  padding:15px 28px; border-radius:100px; border:1.5px solid transparent;
  transition:transform .4s var(--ease), background .3s, color .3s, border-color .3s, box-shadow .3s;
  will-change:transform;
}
.btn--primary{ background:var(--glacial); color:#fff; box-shadow:0 8px 24px rgba(41,145,164,.32); }
.btn--primary:hover{ transform:translateY(-2px); background:#2c9eb3; box-shadow:0 14px 34px rgba(41,145,164,.42); }
.btn--ghost{ border-color:rgba(255,255,255,.4); color:#fff; }
.btn--ghost:hover{ transform:translateY(-2px); border-color:#fff; background:rgba(255,255,255,.08); }

/* =========================================================
   LOGO
   ========================================================= */
.brand-logo{ display:inline-flex; width:38px; height:38px; }
.brand-logo--lg{ width:54px; height:54px; }
.brand-logo__mark{ width:100%; height:100%; color:var(--industrial); }
.brand-logo__mark .mark-comet{ stroke:var(--leaf); }
/* logo sobre fundo escuro */
.nav.is-dark .brand-logo__mark,
.footer .brand-logo__mark{ color:#dfe7eb; }
.footer .brand-logo__mark .mark-node-open{ stroke:#dfe7eb; }

/* =========================================================
   PRELOADER
   ========================================================= */
.preloader{
  position:fixed; inset:0; z-index:1000;
  background:
    radial-gradient(120% 80% at 50% 0%, #16323d 0%, var(--industrial-deep) 55%, #0a141a 100%);
  display:flex; align-items:center; justify-content:center;
  color:#eaf2f5;
}
.preloader.is-done{ pointer-events:none; }
.preloader__inner{
  position:relative; width:min(92vw,980px);
  display:flex; flex-direction:column; align-items:center; gap:34px;
}
.preloader__brand-label{
  font-family:var(--font-display); font-size:.7rem; letter-spacing:.34em;
  text-transform:uppercase; color:#6fb9c6;
}
.preloader__grid{
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
  width:100%;
}
.pcard{
  position:relative; border-radius:12px; padding:18px 16px;
  background:linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border:1px solid rgba(127,208,222,.18);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  min-height:104px; display:flex; flex-direction:column; justify-content:space-between;
  opacity:0; transform-style:preserve-3d;
  box-shadow:0 10px 40px rgba(0,0,0,.25);
}
.pcard__num{
  font-family:var(--font-display); font-size:.8rem; font-weight:600;
  color:var(--glacial); letter-spacing:.05em;
}
.pcard__name{ font-size:.86rem; font-weight:500; line-height:1.25; color:#dceaee; }
.pcard__dot{
  position:absolute; top:14px; right:14px; width:7px; height:7px; border-radius:50%;
  background:var(--leaf); box-shadow:0 0 12px var(--leaf);
}
.preloader__net{ position:absolute; inset:0; z-index:1; width:100%; height:100%; pointer-events:none; }
.preloader__net line{ stroke:rgba(127,208,222,.5); stroke-width:1; }
.preloader__status{ display:flex; align-items:center; gap:16px; width:min(420px,80%); }
.preloader__bar{ flex:1; height:2px; background:rgba(255,255,255,.14); border-radius:2px; overflow:hidden; }
.preloader__bar-fill{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--glacial),var(--leaf)); }
.preloader__pct{ font-family:var(--font-display); font-size:.78rem; color:#9fc4cd; min-width:42px; text-align:right; }

/* =========================================================
   NAVBAR
   ========================================================= */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:90;
  padding:18px 0; transition:background .4s, padding .4s, box-shadow .4s;
}
.nav.is-scrolled{
  background:rgba(255,255,255,.86); backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px); padding:12px 0;
  box-shadow:0 1px 0 var(--line);
}
.nav__inner{ width:100%; max-width:var(--wrap); margin-inline:auto;
  padding-inline:clamp(20px,5vw,40px); display:flex; align-items:center; justify-content:space-between; }
.nav__brand{ display:flex; align-items:center; gap:12px; }
.nav__brand-text{ font-family:var(--font-display); font-weight:700; font-size:1.18rem; letter-spacing:-.01em; color:#fff; transition:color .4s; }
.nav__brand-text span{ color:var(--glacial); }
.nav.is-scrolled .nav__brand-text{ color:var(--industrial); }
.nav.is-scrolled .brand-logo__mark{ color:var(--industrial); }
.nav__links{ display:flex; align-items:center; gap:30px; }
.nav__links a{
  font-family:var(--font-display); font-size:.82rem; font-weight:500; letter-spacing:.02em;
  color:rgba(255,255,255,.82); transition:color .3s;
}
.nav.is-scrolled .nav__links a{ color:var(--ink-2); }
.nav__links a:hover{ color:var(--glacial); }
.nav__cta{
  padding:9px 20px; border-radius:100px; background:var(--glacial); color:#fff !important;
  transition:transform .3s var(--ease), background .3s;
}
.nav__cta:hover{ transform:translateY(-2px); background:#2c9eb3; }
.nav__burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; padding:6px; }
.nav__burger span{ width:24px; height:2px; background:#fff; border-radius:2px; transition:.3s; }
.nav.is-scrolled .nav__burger span{ background:var(--industrial); }
.nav__mobile{
  display:none; flex-direction:column; gap:4px; margin-top:14px;
  background:#fff; border-radius:14px; box-shadow:var(--shadow-card); overflow:hidden;
  max-height:0; transition:max-height .4s var(--ease);
}
.nav__mobile a{ padding:14px 22px; font-family:var(--font-display); font-weight:500; color:var(--ink-2); border-bottom:1px solid var(--line); }
.nav__mobile a:last-child{ border-bottom:0; }

/* =========================================================
   HERO + GLOBO
   ========================================================= */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:center;
  background:
    radial-gradient(110% 90% at 78% 30%, #1c3743 0%, var(--industrial-deep) 50%, #081116 100%);
  color:#fff; overflow:hidden; padding:120px 0 90px;
}
.hero__globe{ position:absolute; inset:0; z-index:1; }
.hero__globe canvas{ display:block; }
.hero__veil{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(8,17,22,.92) 0%, rgba(8,17,22,.55) 42%, rgba(8,17,22,0) 70%),
    linear-gradient(0deg, rgba(8,17,22,.85) 0%, rgba(8,17,22,0) 40%);
}
.hero__content{
  position:relative; z-index:3; width:100%; max-width:var(--wrap);
  margin-inline:auto; padding-inline:clamp(20px,5vw,40px); max-width:760px;
  padding-left:clamp(20px,5vw,40px);
}
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-display); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase;
  color:#bfe0e7; background:rgba(255,255,255,.06); border:1px solid rgba(127,208,222,.25);
  padding:8px 16px; border-radius:100px; margin-bottom:28px;
}
.hero__pulse{ position:relative; width:8px; height:8px; }
.hero__pulse::before, .hero__pulse::after{ content:""; position:absolute; inset:0; border-radius:50%; background:var(--leaf); }
.hero__pulse::after{ animation:ping 1.8s var(--ease) infinite; }
@keyframes ping{ 0%{ transform:scale(1); opacity:.7; } 80%,100%{ transform:scale(3); opacity:0; } }
.hero__title{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(2.3rem,5.6vw,4.4rem); line-height:1.03; letter-spacing:-.025em; margin:0 0 24px;
}
.hero__title em{ font-style:normal; color:var(--glacial); display:block; }
.hero__lead{ font-size:clamp(1.02rem,1.6vw,1.22rem); color:rgba(233,242,245,.82); max-width:560px; margin:0 0 36px; }
.hero__actions{ display:flex; gap:16px; flex-wrap:wrap; }

/* fallback estático */
.hero__fallback{
  position:absolute; inset:0;
  background:
    radial-gradient(50% 60% at 75% 45%, rgba(41,145,164,.28), transparent 70%),
    radial-gradient(40% 50% at 60% 70%, rgba(46,133,68,.18), transparent 70%);
}
.hero__fallback svg{ position:absolute; right:4%; top:50%; transform:translateY(-50%); width:min(46vw,560px); height:auto; opacity:.9; }

/* Marquee */
.marquee{
  position:absolute; left:0; right:0; bottom:0; z-index:4;
  padding:18px 0; border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(0deg, rgba(8,17,22,.9), rgba(8,17,22,.2));
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  overflow:hidden;
}
.marquee__track{ display:inline-flex; white-space:nowrap; will-change:transform; animation:marquee 38s linear infinite; }
.marquee__track span{
  font-family:var(--font-display); font-size:.95rem; font-weight:500; letter-spacing:.02em;
  color:rgba(207,224,229,.6); padding:0 26px; display:inline-flex; align-items:center;
}
.marquee__track span::after{ content:"·"; color:var(--glacial); margin-left:26px; }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* =========================================================
   NÚMEROS
   ========================================================= */
.stats{ background:var(--surface); padding:clamp(80px,10vw,140px) 0; }
.stats__grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
}
.stat{ background:var(--surface); padding:clamp(28px,4vw,46px); }
.stat__num{
  display:block; font-family:var(--font-display); font-weight:600;
  font-size:clamp(2.6rem,5vw,4rem); line-height:1; letter-spacing:-.03em;
  color:var(--industrial); font-variant-numeric:tabular-nums;
}
.stat__label{ display:block; margin-top:12px; color:var(--text-soft); font-size:.98rem; max-width:240px; }
.stats__quote{
  margin:clamp(48px,6vw,72px) 0 0; text-align:center;
  font-family:var(--font-display); font-weight:500; letter-spacing:-.015em;
  font-size:clamp(1.5rem,3.4vw,2.4rem); color:var(--ink);
}
.stats__quote span{ display:block; color:var(--glacial); }

/* =========================================================
   ECOSSISTEMA / MÓDULOS
   ========================================================= */
.eco{
  background:
    radial-gradient(80% 60% at 20% 0%, #1c3743 0%, var(--industrial-deep) 60%, #0a141a 100%);
  color:#fff; padding:clamp(80px,10vw,140px) 0;
}
.eco__layout{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,6vw,80px); align-items:center; }

.eco__orbit{
  position:relative; aspect-ratio:1/1; max-width:520px; margin-inline:auto; width:100%;
}
.eco__core{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:128px; height:128px; border-radius:50%; z-index:5;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  background:radial-gradient(circle at 35% 30%, #2c5364, var(--industrial) 70%);
  border:1px solid rgba(127,208,222,.4);
  box-shadow:0 0 0 10px rgba(41,145,164,.08), 0 20px 60px rgba(0,0,0,.4);
}
.eco__core-mark{ width:46px; height:46px; color:#fff; }
.eco__core-mark .mark-comet{ stroke:var(--leaf); }
.eco__core span{ font-family:var(--font-display); font-weight:700; letter-spacing:.14em; font-size:.78rem; color:#cfe6eb; }
.eco__node{
  position:absolute; top:50%; left:50%; z-index:4;
  transform:translate(-50%,-50%);
  width:84px; height:84px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; text-align:center;
  background:linear-gradient(160deg, rgba(255,255,255,.09), rgba(255,255,255,.02));
  border:1px solid rgba(127,208,222,.22); backdrop-filter:blur(6px);
  font-size:.62rem; line-height:1.2; font-weight:500; color:#dceaee; padding:6px;
  transition:transform .4s var(--ease), border-color .4s, background .4s;
}
.eco__node:hover{ transform:translate(-50%,-50%) scale(1.12); border-color:var(--leaf); background:rgba(46,133,68,.16); }
.eco__node b{ font-family:var(--font-display); color:var(--glacial); display:block; font-size:.7rem; }
.eco__link{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.eco__link line{ stroke:rgba(127,208,222,.25); stroke-width:1; stroke-dasharray:4 5; }

.eco__copy p{ font-size:1.1rem; color:rgba(233,242,245,.84); margin:0 0 28px; }
.eco__list{ display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }
.eco__list li{
  display:flex; gap:10px; align-items:flex-start; font-size:.9rem; color:#cdd9de;
}
.eco__list li::before{
  content:""; flex:none; margin-top:7px; width:6px; height:6px; border-radius:50%;
  background:var(--leaf); box-shadow:0 0 8px rgba(46,133,68,.7);
}
.eco__list b{ font-family:var(--font-display); color:var(--glacial); font-weight:600; margin-right:4px; }

/* =========================================================
   PRESENÇA E ALCANCE
   ========================================================= */
.reach{ background:var(--ice); padding:clamp(80px,10vw,140px) 0; }
.reach__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.reach__card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px 26px; transition:transform .4s var(--ease), box-shadow .4s;
}
.reach__card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-card); }
.reach__icon{
  width:52px; height:52px; border-radius:13px; display:flex; align-items:center; justify-content:center;
  background:var(--industrial); margin-bottom:20px;
}
.reach__icon svg{ width:26px; height:26px; fill:none; stroke:#bfe0e7; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.reach__card:nth-child(2) .reach__icon{ background:var(--glacial); }
.reach__card:nth-child(3) .reach__icon{ background:var(--industrial); }
.reach__card:nth-child(4) .reach__icon{ background:var(--glacial); }
.reach__card h3{ font-family:var(--font-display); font-weight:600; font-size:1.1rem; margin:0 0 8px; color:var(--industrial); }
.reach__card p{ margin:0; color:var(--text-soft); font-size:.95rem; }
.reach__card strong{ color:var(--ink); }

.reach__map{
  margin-top:40px; display:grid; grid-template-columns:1fr 1fr; gap:24px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(28px,4vw,46px);
}
.reach__col h4{
  font-family:var(--font-display); font-size:.78rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--industrial); margin:0 0 18px;
}
.reach__col--int h4{ color:var(--glacial); }
.reach__col ul{ display:flex; flex-wrap:wrap; gap:10px; }
.reach__col li{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--cloud); border:1px solid var(--line); border-radius:100px;
  padding:8px 16px; font-size:.9rem; color:var(--ink-2);
}
.reach__col li b{ font-family:var(--font-display); color:var(--industrial); }
.reach__col--int li b{ color:var(--glacial); }
.reach__col li::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--glacial); }
.reach__col--int li::before{ background:var(--leaf); }

/* =========================================================
   FORMULÁRIO
   ========================================================= */
.contact{
  background:radial-gradient(90% 80% at 80% 10%, #1c3743 0%, var(--industrial-deep) 60%, #0a141a 100%);
  color:#fff; padding:clamp(80px,10vw,140px) 0;
}
.contact__wrap{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(40px,6vw,80px); align-items:start; }
.contact__intro p{ color:rgba(233,242,245,.78); margin:16px 0 28px; max-width:420px; }
.contact__points li{ display:flex; gap:12px; align-items:center; padding:9px 0; color:#cfe0e5; font-size:.95rem; }
.contact__points li::before{
  content:""; flex:none; width:20px; height:20px; border-radius:50%;
  background:rgba(46,133,68,.2); border:1px solid var(--leaf);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E8544' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:12px;
}

.form{
  background:rgba(255,255,255,.04); border:1px solid rgba(127,208,222,.18);
  border-radius:var(--radius); padding:clamp(26px,4vw,44px); backdrop-filter:blur(10px);
}
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field{ display:block; margin-bottom:18px; }
.field span{ display:block; font-size:.78rem; font-weight:500; letter-spacing:.02em; color:#aecdd4; margin-bottom:7px; }
.field span i{ color:var(--orange); font-style:normal; }
.field input, .field select, .field textarea{
  width:100%; padding:13px 15px; border-radius:10px; font-family:inherit; font-size:.95rem;
  background:rgba(8,17,22,.4); border:1px solid rgba(127,208,222,.22); color:#fff;
  transition:border-color .3s, box-shadow .3s; resize:vertical;
}
.field select{ appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237fd0de' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:18px; padding-right:40px; }
.field select option{ color:var(--ink); }
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--glacial); box-shadow:0 0 0 3px rgba(41,145,164,.22);
}
.field input.invalid, .field select.invalid, .field textarea.invalid{
  border-color:var(--red); box-shadow:0 0 0 3px rgba(139,0,0,.2);
}
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.consent{ display:flex; gap:12px; align-items:flex-start; margin:6px 0 22px; font-size:.86rem; color:#c2d4d9; }
.consent input{ flex:none; width:18px; height:18px; margin-top:3px; accent-color:var(--leaf); }
.consent strong{ color:#fff; }
.form__submit{ width:100%; justify-content:center; }
.form__submit[disabled]{ opacity:.6; pointer-events:none; }
.form__feedback{ margin:16px 0 0; font-size:.9rem; min-height:1.2em; }
.form__feedback.ok{ color:#7ddc95; }
.form__feedback.err{ color:#ff9b9b; }

/* =========================================================
   FOOTER
   ========================================================= */
.footer{ background:#0a141a; color:#cdd9de; padding:clamp(48px,7vw,72px) 0 36px; }
.footer__inner{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; align-items:start; }
.footer__brand{ display:flex; gap:16px; align-items:flex-start; }
.footer__tag{ margin:0; font-size:.9rem; color:#90a4ab; max-width:280px; }
.footer__nav{ display:flex; flex-direction:column; gap:12px; }
.footer__nav a{ font-family:var(--font-display); font-size:.85rem; color:#90a4ab; transition:color .3s; }
.footer__nav a:hover{ color:var(--glacial); }
.footer__copy{ grid-column:1/-1; border-top:1px solid rgba(255,255,255,.07); padding-top:24px; margin:24px 0 0; font-size:.78rem; color:#5f7077; }

/* =========================================================
   SOCIAL RAIL
   ========================================================= */
.social-rail{
  position:fixed; right:18px; top:50%; transform:translateY(-50%); z-index:80;
  display:flex; flex-direction:column; gap:10px;
}
.social-rail__item{
  width:44px; height:44px; border-radius:13px; display:flex; align-items:center; justify-content:center;
  background:rgba(38,61,75,.85); border:1px solid rgba(127,208,222,.2); backdrop-filter:blur(8px);
  transition:transform .35s var(--ease), background .3s, border-color .3s;
}
.social-rail__item svg{ width:19px; height:19px; fill:#cfe0e5; transition:fill .3s; }
.social-rail__item:hover{ transform:translateX(-4px) scale(1.06); background:var(--glacial); border-color:var(--glacial); }
.social-rail__item:hover svg{ fill:#fff; }
.social-rail__item--whats:hover{ background:#25d366; border-color:#25d366; }

/* =========================================================
   ANIMAÇÕES DE ENTRADA (ScrollTrigger)
   ========================================================= */
.reveal{ opacity:0; transform:translateY(34px); }
.is-in{ opacity:1; transform:none; transition:opacity .9s var(--ease), transform .9s var(--ease); }

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width:980px){
  .eco__layout{ grid-template-columns:1fr; }
  .eco__orbit{ max-width:420px; }
  .contact__wrap{ grid-template-columns:1fr; }
  .reach__grid{ grid-template-columns:repeat(2,1fr); }
  .footer__inner{ grid-template-columns:1fr 1fr; }
}
@media (max-width:720px){
  .nav__links{ display:none; }
  .nav__burger{ display:flex; }
  .nav.is-open .nav__mobile{ display:flex; max-height:340px; }
  .nav.is-open .nav__burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav.is-open .nav__burger span:nth-child(2){ opacity:0; }
  .nav.is-open .nav__burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .hero{ min-height:auto; padding:130px 0 100px; }
  .hero__veil{ background:linear-gradient(0deg, rgba(8,17,22,.92) 18%, rgba(8,17,22,.55) 55%, rgba(8,17,22,.2) 100%); }
  .stats__grid{ grid-template-columns:1fr 1fr; }
  .preloader__grid{ grid-template-columns:repeat(3,1fr); gap:10px; }
  .pcard{ min-height:92px; padding:14px 12px; }
  .form__row{ grid-template-columns:1fr; }
  .reach__map{ grid-template-columns:1fr; }
  .social-rail{ right:12px; gap:8px; }
  .social-rail__item{ width:40px; height:40px; }
}
@media (max-width:460px){
  .stats__grid{ grid-template-columns:1fr; }
  .reach__grid{ grid-template-columns:1fr; }
  .preloader__grid{ grid-template-columns:repeat(2,1fr); }
  .eco__list{ grid-template-columns:1fr; }
  .footer__inner{ grid-template-columns:1fr; }
}

/* =========================================================
   PREFERS-REDUCED-MOTION
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .reveal{ opacity:1; transform:none; }
  .hero__pulse::after{ display:none; }
}
