/* ===========================================================
   Pontal Logística — editorial industrial
   =========================================================== */

:root{
  --ink:#0A0A0A;
  --smoke:#111111;
  --iron:#1A1A1A;
  --coal:#242424;
  --ash:#8B8680;
  --bone:#F5F3EC;
  --paper:#EFEBE2;
  --paper-2:#E6E1D3;
  --red:#E11D29;
  --red-dark:#A10E18;
  --red-soft:#FF3B49;

  --f-display:"Anton",Impact,Arial Black,sans-serif;
  --f-body:"Inter Tight",ui-sans-serif,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --container: min(1320px, 92vw);
  --container-wide: min(1520px, 96vw);

  --easeOut: cubic-bezier(.22,.61,.36,1);
  --easeExpo: cubic-bezier(.19,1,.22,1);
  color-scheme: dark;
}

*,
*::before,
*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--ink);
  color:var(--bone);
  font-family:var(--f-body);
  font-size:16px;
  line-height:1.55;
  font-feature-settings:"ss01","cv11";
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }

a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; border:0; background:none; cursor:pointer; }

::selection{ background:var(--red); color:#fff; }

/* ---------- Utils ---------- */
.u-accent{ color:var(--red); }
.u-outline{
  -webkit-text-stroke: 2px var(--bone);
  color:transparent;
}

/* ---------- Topbar ---------- */
.topbar{
  position:relative;
  z-index:20;
  background:#000;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:.04em;
  color:rgba(245,243,236,.6);
}
.topbar__inner{
  width:var(--container-wide);
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:14px;
  padding:8px 0;
  overflow:hidden;
  white-space:nowrap;
}
.topbar__item em{
  font-style:normal;
  color:var(--red);
  margin-right:4px;
}
.topbar__link{ transition:color .2s; }
.topbar__link:hover{ color:var(--bone); }
.topbar__sep{
  width:3px; height:3px; border-radius:50%;
  background:rgba(245,243,236,.25);
}
.topbar__spacer{ flex:1; }
@media (max-width:900px){
  .topbar__inner > :nth-child(n+3):nth-child(-n+5){ display:none; }
}

/* ---------- Nav ---------- */
.nav{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(10,10,10,.72);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .3s, border-color .3s;
}
.nav.is-scrolled{
  background:rgba(10,10,10,.92);
  border-bottom-color:rgba(255,255,255,.12);
}
.nav__inner{
  width:var(--container-wide);
  margin:0 auto;
  padding:14px 0;
  display:flex;
  align-items:center;
  gap:32px;
}
.nav__brand{ display:flex; align-items:center; }
.nav__logo{
  height:44px;
  width:auto;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.4));
}
.nav__menu{
  display:flex;
  align-items:center;
  gap:28px;
  margin-left:auto;
  font-size:14px;
  letter-spacing:.01em;
}
.nav__menu a{
  display:flex; align-items:baseline; gap:6px;
  position:relative; padding:6px 0;
  color:rgba(245,243,236,.78);
  transition:color .2s;
}
.nav__menu a:hover{ color:var(--bone); }
.nav__menu a::after{
  content:"";
  position:absolute; left:0; right:100%; bottom:2px;
  height:1px; background:var(--red);
  transition:right .35s var(--easeOut);
}
.nav__menu a:hover::after{ right:0; }
.nav__num{
  font-family:var(--f-mono);
  font-size:10px;
  color:var(--red);
  letter-spacing:.12em;
}
.nav__cta{
  display:inline-flex; align-items:center; gap:10px;
  padding:11px 18px;
  background:var(--red);
  color:#fff;
  font-weight:600;
  font-size:13px;
  letter-spacing:.02em;
  border-radius:2px;
  transition:background .2s, transform .2s;
  box-shadow: 0 1px 0 rgba(0,0,0,.4) inset, 0 10px 30px -10px rgba(225,29,41,.6);
}
.nav__cta:hover{ background:var(--red-soft); transform:translateY(-1px); }
.nav__burger{
  display:none;
  width:42px; height:42px;
  position:relative;
  margin-left:auto;
  z-index:60;
}
.nav__burger span{
  position:absolute; left:10px; right:10px; height:2px;
  background:var(--bone); border-radius:1px;
  transition:transform .3s, top .3s, opacity .2s;
}
.nav__burger span:nth-child(1){ top:14px; }
.nav__burger span:nth-child(2){ top:20px; }
.nav__burger span:nth-child(3){ top:26px; }
.nav.is-open .nav__burger span:nth-child(1){ top:20px; transform:rotate(45deg); }
.nav.is-open .nav__burger span:nth-child(2){ opacity:0; }
.nav.is-open .nav__burger span:nth-child(3){ top:20px; transform:rotate(-45deg); }

@media (max-width:900px){
  .nav{
    background:#0a0a0a;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .nav__inner{ padding:10px 4vw; gap:12px; }
  .nav__logo{ height:38px; }
  .nav__menu{
    position:fixed;
    inset:0;
    padding:88px 6vw 32px;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    background:#0a0a0a;
    z-index:40;
    border-bottom:1px solid rgba(255,255,255,.08);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-16px);
    transition:opacity .35s var(--easeOut), transform .35s var(--easeOut), visibility 0s linear .35s;
  }
  .nav__menu a{
    width:100%;
    padding:18px 0;
    font-size:22px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .nav.is-open .nav__menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition:opacity .35s var(--easeOut), transform .35s var(--easeOut), visibility 0s linear 0s;
  }
  .nav__cta{ display:none; }
  .nav__burger{ display:block; }
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 22px;
  font-size:14px; letter-spacing:.02em;
  font-weight:600;
  border-radius:2px;
  transition:background .2s, color .2s, transform .2s, border-color .2s;
  cursor:pointer;
}
.btn--primary{
  background:var(--red);
  color:#fff;
  box-shadow: 0 0 0 1px rgba(255,255,255,.04) inset, 0 20px 40px -20px rgba(225,29,41,.6);
}
.btn--primary:hover{ background:var(--red-soft); transform:translateY(-1px); }
.btn--ghost{
  background:transparent;
  color:var(--bone);
  border:1px solid rgba(245,243,236,.24);
}
.btn--ghost:hover{ border-color:var(--bone); background:rgba(245,243,236,.04); }
.btn--full{ width:100%; justify-content:center; }
.btn--inline{ align-self:flex-start; margin-top:8px; }

/* ---------- Hero ---------- */
.hero{
  position:relative;
  height: calc(100vh - 44px - 74px);
  min-height:680px;
  overflow:hidden;
  isolation:isolate;
}
.hero__media{
  position:absolute; inset:0;
  z-index:-1;
}
.hero__media img{
  width:100%; height:100%;
  object-fit:cover;
  object-position: center 42%;
  filter: contrast(1.04) brightness(.9) saturate(1.1);
  transform: scale(1.06);
  animation: heroPan 22s var(--easeOut) forwards;
}
@keyframes heroPan{
  from { transform: scale(1.16) translate3d(1%,0,0); }
  to   { transform: scale(1.08) translate3d(0,0,0); }
}
.hero__scrim{
  position:absolute; inset:0;
  background:
    radial-gradient(70% 50% at 5% 110%, rgba(225,29,41,.18), transparent 60%),
    linear-gradient(180deg, rgba(10,10,10,0) 0%, rgba(10,10,10,.15) 35%, rgba(10,10,10,.72) 75%, rgba(10,10,10,.95) 100%),
    linear-gradient(90deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,.25) 45%, rgba(10,10,10,0) 75%);
}
.hero__grain{
  position:absolute; inset:0; pointer-events:none;
  opacity:.12;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay;
}
.hero__frame{ position:absolute; inset:24px; pointer-events:none; z-index:2; }
.hero__frame-l,.hero__frame-r{
  position:absolute; top:0; bottom:0;
  width:24px;
}
.hero__frame-l{ left:0; border-left:1px solid rgba(245,243,236,.18); border-top:1px solid rgba(245,243,236,.18); border-bottom:1px solid rgba(245,243,236,.18); }
.hero__frame-r{ right:0; border-right:1px solid rgba(245,243,236,.18); border-top:1px solid rgba(245,243,236,.18); border-bottom:1px solid rgba(245,243,236,.18); }

.hero__content{
  position:relative;
  z-index:3;
  width:var(--container-wide);
  margin:0 auto;
  padding:72px 0 48px;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-mono);
  font-size:11px; letter-spacing:.18em;
  color:rgba(245,243,236,.7);
  text-transform:uppercase;
  padding:8px 12px;
  width:max-content;
  border:1px solid rgba(245,243,236,.16);
  border-radius:999px;
  background:rgba(10,10,10,.4);
}
.hero__eyebrow-dot{
  width:7px; height:7px; border-radius:50%;
  background:var(--red);
  box-shadow:0 0 12px var(--red);
}
.hero__title{
  font-family:var(--f-display);
  font-weight:400;
  font-size:clamp(48px, 9vw, 148px);
  line-height:.95;
  letter-spacing:-.01em;
  margin:18px 0 22px;
  text-transform:uppercase;
  color:var(--bone);
}
.hero__line{
  display:block;
  overflow:hidden;
  padding-top:.08em;
}
.hero__line > *{ display:block; }
.hero__line{
  opacity:0;
  transform:translateY(60%);
  animation: lineRise 1s var(--easeExpo) forwards;
  animation-delay: var(--d);
}
@keyframes lineRise{
  to { opacity:1; transform:translateY(0); }
}
.hero__line--accent{ color:var(--red); }
.hero__lede{
  max-width:580px;
  font-size:clamp(15px, 1.3vw, 18px);
  line-height:1.5;
  color:rgba(245,243,236,.82);
  margin:0 0 30px;
  opacity:0;
  animation: fadeUp .9s var(--easeOut) forwards;
  animation-delay: 520ms;
}
@keyframes fadeUp{
  from{ opacity:0; transform:translateY(18px); }
  to  { opacity:1; transform:translateY(0); }
}

.hero__ctas{
  display:flex; gap:10px; flex-wrap:wrap;
  margin-bottom:52px;
  opacity:0;
  animation: fadeUp .9s var(--easeOut) forwards;
  animation-delay: 640ms;
}

.hero__stats{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(245,243,236,.16);
  padding-top:18px;
  margin:0;
  opacity:0;
  animation: fadeUp .9s var(--easeOut) forwards;
  animation-delay: 800ms;
}
.hero__stats > div{
  padding:2px 18px 4px 0;
  border-right:1px dashed rgba(245,243,236,.14);
}
.hero__stats > div:last-child{ border-right:0; }
.hero__stats dt{
  font-family:var(--f-mono);
  font-size:10px;
  letter-spacing:.16em;
  color:rgba(245,243,236,.6);
  text-transform:uppercase;
  line-height:1.3;
  min-height:2.6em;
  display:flex;
  align-items:flex-start;
}
.hero__stats dd{
  margin:4px 0 0;
  font-family:var(--f-display);
  font-size:clamp(34px, 4.4vw, 56px);
  line-height:1;
  color:var(--bone);
}
.hero__stats dd sup{
  font-size:.4em;
  color:var(--red);
  margin-left:4px;
  vertical-align:super;
}
@media (max-width:720px){
  .hero__stats{ grid-template-columns:repeat(2,1fr); gap:16px 0; }
  .hero__stats > div:nth-child(2){ border-right:0; }
  .hero__stats > div:nth-child(3),
  .hero__stats > div:nth-child(4){ padding-top:16px; border-top:1px dashed rgba(245,243,236,.14); }
}

.hero__scroll{
  position:absolute; right:48px; bottom:32px;
  z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  font-family:var(--f-mono); font-size:10px; letter-spacing:.2em;
  color:rgba(245,243,236,.55);
  text-transform:uppercase;
}
.hero__scroll svg{ animation: bob 2s ease-in-out infinite; }
@keyframes bob{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(6px); }
}
@media (max-width:720px){ .hero__scroll{ display:none; } }

/* ---------- Section base ---------- */
.section{
  position:relative;
  padding: clamp(72px, 11vw, 160px) 0;
}
.section--dark{
  background: linear-gradient(180deg, var(--ink) 0%, #0c0c0c 100%);
  color:var(--bone);
}
.section--bone{
  background:var(--bone);
  color:var(--ink);
}
.section--about{
  background:#0c0c0c;
  color:var(--bone);
}
.section--contact{
  background:
    radial-gradient(600px 320px at 100% 0%, rgba(225,29,41,.10), transparent 70%),
    linear-gradient(180deg, #0a0a0a 0%, #050505 100%);
  color:var(--bone);
}
.section__head{
  width:var(--container);
  margin:0 auto clamp(48px, 6vw, 88px);
  max-width: 1120px;
}
.section__head--bone{ color:var(--ink); }
.section__tag{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(245,243,236,.6);
  margin-bottom:22px;
}
.section__head--bone .section__tag{ color:rgba(10,10,10,.55); }
.section__tag em{ font-style:normal; color:var(--red); }
.section__title{
  font-family:var(--f-display);
  font-weight:400;
  font-size:clamp(44px, 7vw, 112px);
  line-height:.9;
  letter-spacing:-.005em;
  text-transform:uppercase;
  margin:0 0 22px;
}
.section--bone .u-outline{ -webkit-text-stroke-color:var(--ink); }
.section__lede{
  max-width: 640px;
  font-size: clamp(15px, 1.15vw, 17px);
  line-height:1.55;
  color:rgba(245,243,236,.82);
}
.section__lede--bone{ color:rgba(10,10,10,.7); }

/* ---------- Services ---------- */
.services{
  width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns: 1fr;
  border-top:1px solid rgba(245,243,236,.1);
}
@media (min-width:900px){
  .services{ grid-template-columns: repeat(3, 1fr); }
}
.service{
  position:relative;
  display:grid;
  grid-template-columns: 1fr;
  gap:16px;
  padding: clamp(32px, 4vw, 48px) clamp(4px, 2vw, 28px);
  border-bottom:1px solid rgba(245,243,236,.1);
  transition: background .4s;
}
@media (min-width:900px){
  .service{
    grid-template-columns: 72px 1fr;
    padding: clamp(36px, 4vw, 52px) clamp(14px, 2vw, 28px);
  }
  .service:not(:nth-child(3n+1)){ border-left:1px solid rgba(245,243,236,.1); }
}
.service::before{
  content:"";
  position:absolute; left:0; top:0; height:100%; width:2px;
  background:var(--red);
  transform: scaleY(0); transform-origin:top;
  transition: transform .5s var(--easeExpo);
}
.service:hover{ background: rgba(225,29,41,.04); }
.service:hover::before{ transform: scaleY(1); }

.service__num{
  font-family:var(--f-mono);
  font-size:11px;
  color:var(--red);
  letter-spacing:.2em;
}
.service__body h3{
  font-family:var(--f-display);
  font-weight:400;
  font-size: clamp(24px, 2.4vw, 36px);
  letter-spacing:.005em;
  text-transform:uppercase;
  margin:0 0 12px;
}
.service__body p{
  color:rgba(245,243,236,.78);
  font-size:15px;
  line-height:1.55;
  max-width: 540px;
  margin:0 0 16px;
}
.service__list{
  list-style:none; padding:0; margin:0;
  display:grid; gap:6px;
  font-family:var(--f-mono);
  font-size:12px;
  color:rgba(245,243,236,.65);
  letter-spacing:.02em;
}
.service__list li{
  padding-left:18px; position:relative;
}
.service__list li::before{
  content:""; position:absolute; left:0; top:10px;
  width:10px; height:1px; background:var(--red);
}
.service__art{
  grid-column:1 / -1;
  margin-top:14px;
  height:clamp(200px, 22vw, 300px);
  overflow:hidden;
  border:1px solid rgba(245,243,236,.08);
}
.service__art img{
  width:100%; height:100%;
  object-fit:cover;
  filter: grayscale(.4) brightness(.85);
  transition: transform .8s var(--easeOut), filter .5s;
}
.service:hover .service__art img{
  transform: scale(1.06);
  filter: grayscale(0) brightness(1);
}

/* ---------- Rastreamento ---------- */
.tracking__grid{
  width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns: 1fr;
  gap: clamp(16px, 3vw, 32px);
}
@media (min-width:900px){
  .tracking__grid{ grid-template-columns: 1fr 1fr; }
}
.tracking__block{
  padding: clamp(28px, 3.5vw, 48px);
  background: rgba(255,255,255,.03);
  border:1px solid rgba(245,243,236,.08);
  position:relative;
}
.tracking__block::before{
  content:"";
  position:absolute; left:0; top:0; height:100%; width:2px;
  background:var(--red);
  transform: scaleY(0); transform-origin:top;
  transition: transform .5s var(--easeExpo);
}
.tracking__block:hover::before{ transform: scaleY(1); }
.tracking__block h3{
  font-family:var(--f-display);
  font-weight:400;
  font-size: clamp(22px, 2.2vw, 30px);
  text-transform:uppercase;
  margin:0 0 20px;
  letter-spacing:.005em;
  color:var(--bone);
}
.tracking__block p{
  color:rgba(245,243,236,.78);
  font-size:15px;
  line-height:1.6;
  margin:0 0 14px;
}
.tracking__block p:last-child{ margin-bottom:0; }
.tracking__list{
  list-style:none; padding:0; margin:0;
  display:grid; gap:12px;
  font-size:15px;
  color:rgba(245,243,236,.82);
  line-height:1.5;
}
.tracking__list li{
  padding-left:22px; position:relative;
}
.tracking__list li::before{
  content:""; position:absolute; left:0; top:9px;
  width:10px; height:1px; background:var(--red);
}

/* ---------- Frota / Vehicles ---------- */
.vehicles{
  width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns: 1fr;
  border-top:1px solid rgba(10,10,10,.1);
}
@media (min-width:720px){
  .vehicles{ grid-template-columns: repeat(3, 1fr); }
}
.vehicle{
  position:relative;
  padding: clamp(32px, 4vw, 52px) clamp(24px, 3vw, 40px);
  border-bottom:1px solid rgba(10,10,10,.1);
  border-right:1px solid rgba(10,10,10,.1);
  transition: background .4s, color .4s;
  overflow:hidden;
}
@media (min-width:720px){
  .vehicle:last-child{ border-right:0; }
}
.vehicle::before{
  content:"";
  position:absolute; left:0; top:0; height:100%; width:2px;
  background:var(--red);
  transform: scaleY(0); transform-origin:top;
  transition: transform .5s var(--easeExpo);
}
.vehicle:hover{ background: rgba(10,10,10,.06); }
.vehicle:hover::before{ transform: scaleY(1); }
.vehicle__num{
  font-family:var(--f-mono);
  font-size:11px;
  color:var(--red);
  letter-spacing:.2em;
  margin-bottom:16px;
}
.vehicle h3{
  font-family:var(--f-display);
  font-weight:400;
  font-size: clamp(26px, 2.8vw, 40px);
  text-transform:uppercase;
  letter-spacing:.005em;
  margin:0 0 14px;
  color:var(--ink);
}
.vehicle p{
  font-size:15px;
  color:rgba(10,10,10,.7);
  line-height:1.55;
  margin:0;
}

/* ---------- About ---------- */
.section--about{
  padding: clamp(72px, 11vw, 140px) 0;
}
.about__grid{
  width:var(--container);
  margin:0 auto;
  display:grid;
  gap: clamp(32px, 5vw, 72px);
  grid-template-columns: 1fr;
  align-items:center;
}
@media (min-width:900px){
  .about__grid{ grid-template-columns: 5fr 6fr; }
}
.about__media{
  position:relative;
  aspect-ratio: 4/5;
  overflow:hidden;
  border:1px solid rgba(245,243,236,.1);
}
.about__media img{
  width:100%; height:100%;
  object-fit:cover;
  filter: grayscale(.15) contrast(1.05) brightness(.85);
  transition: transform 1.2s var(--easeExpo);
}
.about__media:hover img{ transform: scale(1.05); }
.about__badge{
  position:absolute; bottom:18px; left:18px;
  display:flex; flex-direction:column;
  padding:14px 18px;
  background:var(--red);
  color:#fff;
  font-family:var(--f-display);
}
.about__badge em{
  font-family:var(--f-mono);
  font-style:normal; font-size:11px; letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.8;
}
.about__badge strong{
  font-size:44px; line-height:1; margin-top:2px;
  font-weight:400;
}
.about__text{ display:flex; flex-direction:column; gap:16px; }
.about__title{
  font-family:var(--f-display);
  font-weight:400;
  font-size: clamp(30px, 4.2vw, 56px);
  line-height:1;
  text-transform:uppercase;
  margin:4px 0 4px;
  letter-spacing:.005em;
}
.about__text p{
  margin:0;
  color: rgba(245,243,236,.8);
  font-size: 16px;
  line-height:1.6;
  max-width: 560px;
}

/* ---------- Contact ---------- */
.contact__grid{
  width:var(--container);
  margin:0 auto;
  display:grid;
  gap: clamp(32px, 4vw, 72px);
  grid-template-columns: 1fr;
  align-items:flex-start;
}
@media (min-width:1000px){
  .contact__grid{ grid-template-columns: 5fr 6fr; }
}
.contact__info{
  list-style:none; padding:0; margin:28px 0 0;
  display:grid; gap:18px;
  border-top:1px solid rgba(245,243,236,.1);
  padding-top:24px;
}
.contact__info li{
  display:grid;
  grid-template-columns: 170px 1fr;
  gap:16px;
  font-size:14px;
  line-height:1.5;
  color: rgba(245,243,236,.85);
}
.contact__info a{ color:var(--bone); border-bottom:1px solid rgba(245,243,236,.3); }
.contact__info a:hover{ color:var(--red); border-color:var(--red); }
.contact__label{
  font-family:var(--f-mono);
  font-size:11px; letter-spacing:.18em;
  text-transform:uppercase;
  color: rgba(245,243,236,.5);
  padding-top:2px;
}
@media (max-width:640px){
  .contact__info li{ grid-template-columns:1fr; gap:4px; }
}

.contact__form{
  padding: clamp(24px, 3vw, 36px);
  background: rgba(255,255,255,.025);
  border:1px solid rgba(245,243,236,.08);
  display:grid; gap:18px;
  position:relative;
  overflow:hidden;
}
.contact__form::before{
  content:""; position:absolute;
  top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--red) 0%, var(--red) 35%, transparent 35%, transparent 50%, var(--red) 50%, var(--red) 60%, transparent 60%);
}
.field{ display:flex; flex-direction:column; gap:8px; }
.field--split{
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
}
@media (max-width:640px){
  .field--split{ grid-template-columns:1fr; }
}
.field label{
  font-family:var(--f-mono);
  font-size:11px; letter-spacing:.14em;
  text-transform:uppercase;
  color: rgba(245,243,236,.6);
}
.field input,
.field select,
.field textarea{
  font:inherit;
  color:var(--bone);
  background: rgba(255,255,255,.02);
  border:1px solid rgba(245,243,236,.14);
  padding:13px 14px;
  border-radius:2px;
  transition: border-color .2s, background .2s;
  font-size:15px;
  width:100%;
}
.field input::placeholder,
.field textarea::placeholder{ color: rgba(245,243,236,.3); }
.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none;
  border-color: var(--red);
  background: rgba(225,29,41,.03);
}
.field select{ appearance:none; background-image:
  linear-gradient(45deg, transparent 50%, var(--bone) 50%),
  linear-gradient(135deg, var(--bone) 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat:no-repeat;
  padding-right:36px;
}
.field select option{ background:#141414; color:var(--bone); }
.field--consent{
  flex-direction:row; align-items:flex-start; gap:10px;
}
.field--consent input{
  width:18px; height:18px; margin-top:2px; accent-color:var(--red);
}
.field--consent label{
  font-family:var(--f-body);
  font-size:13px;
  text-transform:none;
  letter-spacing:0;
  color: rgba(245,243,236,.75);
}
.form__note{
  margin:0; text-align:center;
  font-size:13px; color: rgba(245,243,236,.6);
}
.form__note a{ color:var(--red); border-bottom:1px dashed var(--red); padding-bottom:1px; }

/* ---------- Footer ---------- */
.footer{
  background:#000;
  color: rgba(245,243,236,.65);
  border-top:1px solid rgba(255,255,255,.06);
}
.footer__inner{
  width:var(--container-wide);
  margin:0 auto;
  padding: 64px 0 40px;
  display:grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width:720px){
  .footer__inner{ grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
}
.footer__brand img{ height:46px; margin-bottom:18px; }
.footer__brand p{ margin:0; font-size:14px; max-width:260px; }
.footer__col{ display:flex; flex-direction:column; gap:10px; font-size:14px; }
.footer__col span{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--red);
  margin-bottom:4px;
}
.footer__col a{ transition:color .2s; }
.footer__col a:hover{ color:var(--bone); }
.footer__rail{
  width:var(--container-wide);
  margin:0 auto;
  padding: 18px 0 32px;
  border-top:1px dashed rgba(245,243,236,.1);
  display:flex; flex-wrap:wrap; gap:14px; align-items:center;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.12em;
  color: rgba(245,243,236,.5);
  text-transform:uppercase;
}
.footer__dash{
  flex:1; height:1px;
  background:linear-gradient(90deg, rgba(245,243,236,.16), transparent);
  min-width:40px;
}
.footer__sig{
  display:inline-flex; align-items:center; gap:6px;
  color: rgba(245,243,236,.55);
  transition: color .2s;
}
.footer__sig em{
  font-style:normal;
  color:var(--red);
}
.footer__sig strong{
  font-weight:700;
  color:var(--bone);
  letter-spacing:.04em;
}
.footer__sig:hover{ color:var(--bone); }

/* ---------- WhatsApp float ---------- */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:60;
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 20px 14px 16px;
  background:#25D366;
  color:#0A0A0A;
  border-radius:999px;
  font-weight:700; font-size:14px; letter-spacing:.01em;
  box-shadow: 0 18px 40px -15px rgba(37,211,102,.6), 0 0 0 6px rgba(37,211,102,.12);
  transition: transform .2s, box-shadow .2s;
}
.wa-float:hover{ transform: translateY(-2px) scale(1.02); }
@media (max-width:720px){
  .wa-float__label{ display:none; }
  .wa-float{ padding:14px; }
}

/* ---------- Reveal ---------- */
.reveal{
  opacity:0;
  transform: translateY(22px);
  transition: opacity .8s var(--easeOut), transform .8s var(--easeOut);
  transition-delay: calc(var(--i, 0) * 80ms);
}
.reveal.is-in{
  opacity:1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero__line, .hero__lede, .hero__ctas, .hero__stats{ opacity:1; animation:none; transform:none; }
  .hero__media img{ animation:none; transform:none; }
}
