/* ═══════════════════════════════════════════
   FERRARI HUB — NOVO DESIGN
   Fundo branco · Editorial · Minimalista
═══════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Montserrat:wght@300;400;500;600;700&display=swap');

:root {
  --black:  #0a0a0a;
  --white:  #ffffff;
  --off:    #f5f4f2;
  --g1:     #edece9;
  --g2:     #d8d7d3;
  --g3:     #a0a09c;
  --g4:     #707070;
  --g5:     #333;
  --wa:     #25D366;
  --nav-h:  76px;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  background:var(--white);
  color:var(--black);
  font-family:'Montserrat', sans-serif;
  font-weight:300;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4 { font-family:'Cormorant Garamond', serif; font-weight:400; line-height:1; }
p { line-height:1.9; color:var(--g5); font-size:16px; }
a { text-decoration:none; color:inherit; }

.eyebrow {
  font-family:'Montserrat', sans-serif;
  font-size:10px; letter-spacing:5px; text-transform:uppercase;
  color:var(--g4); font-weight:500; display:block; margin-bottom:16px;
}
.section-title {
  font-size:clamp(2.6rem,4.5vw,4.2rem);
  font-weight:300; line-height:1.02;
}
.divider { width:44px; height:1px; background:var(--g3); margin:30px 0; }

/* ── NAV ── */
nav {
  position:fixed; top:0; width:100%; z-index:1000;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--g2);
  backdrop-filter:blur(12px);
  height:var(--nav-h);
}
.nav-inner {
  display:flex; align-items:center; justify-content:space-between;
  height:100%; padding:0 48px; max-width:1600px; margin:0 auto;
}
.nav-logos { display:flex; align-items:center; gap:16px; }
.nav-logos img { object-fit:contain; }
.logo-fh  { height:36px; }
.logo-abm { height:46px; }
.nav-sep  { width:1px; height:28px; background:var(--g2); }

.nav-links { display:flex; align-items:center; gap:0; list-style:none; }
.nav-links a {
  display:block; padding:0 13px;
  font-size:10px; letter-spacing:2px; text-transform:uppercase;
  font-weight:500; color:var(--g4);
  line-height:var(--nav-h);
  position:relative; transition:color .2s; white-space:nowrap;
}
.nav-links a::after {
  content:''; position:absolute; bottom:0; left:13px; right:13px;
  height:2px; background:var(--black); transform:scaleX(0);
  transition:transform .25s; transform-origin:center;
}
.nav-links a:hover { color:var(--black); }
.nav-links a:hover::after,
.nav-links a.active::after { transform:scaleX(1); }
.nav-links a.active { color:var(--black); font-weight:600; }

/* Quero Ser Modelo — último item do menu */
.nav-link-modelo {
  display:inline-flex !important;
  align-items:center;
  gap:7px;
  background:transparent !important;
  color:var(--g4) !important;
  padding:0 13px !important;
  margin-left:0 !important;
  line-height:var(--nav-h) !important;
  transition:color .2s !important;
}
.nav-link-modelo svg { flex-shrink:0; }
.nav-link-modelo:hover { color:var(--black) !important; background:transparent !important; }
.nav-link-modelo.active { color:var(--black) !important; font-weight:600 !important; }
.nav-link-modelo::after { display:block !important; }

.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; }
.hamburger span { width:24px; height:1.5px; background:var(--black); display:block; transition:.3s; }

/* ── HERO ── */
.hero { height:100vh; position:relative; overflow:hidden; }
.carousel-track { display:flex; height:100%; transition:transform 1s cubic-bezier(.77,0,.175,1); }
.slide { min-width:100%; height:100%; position:relative; overflow:hidden; }
.slide picture { display:contents; }
.slide img {
  width:100%; height:100%; object-fit:cover;
  object-position:center top;
  filter:brightness(.9);
  transform:scale(1.04); transition:transform 10s ease;
}
.slide.active img { transform:scale(1); }
.slide-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.62) 100%);
}
.slide-content {
  position:absolute; bottom:12%; left:8%; max-width:700px; color:var(--white);
}
.slide-content .eyebrow { color:rgba(255,255,255,.7); margin-bottom:16px; }
.slide-title-hero {
  font-family:'Cormorant Garamond', serif;
  font-size:clamp(3.5rem,9vw,8rem);
  font-weight:300; line-height:.9; color:var(--white);
  letter-spacing:-2px; margin-bottom:24px;
}
.slide-sub {
  font-size:13px; letter-spacing:4px; text-transform:uppercase;
  color:rgba(255,255,255,.75); font-weight:300;
}
.carousel-nav {
  position:absolute; bottom:8%; right:7%;
  display:flex; align-items:center; gap:14px;
}
.c-btn {
  width:44px; height:44px; border:1px solid rgba(255,255,255,.4);
  background:transparent; color:white; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-size:16px; transition:.3s;
}
.c-btn:hover { background:rgba(255,255,255,.15); border-color:white; }
.dots { display:flex; gap:7px; align-items:center; }
.dot { width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.35); cursor:pointer; transition:.3s; }
.dot.active { background:white; width:22px; border-radius:2px; }

/* ── SECTIONS ── */
.sec { padding:100px 8%; max-width:1600px; margin:0 auto; }
.sec-full { padding:100px 8%; }
.sec-dark { background:var(--black); color:var(--white); }
.sec-dark p { color:#bbb; }
.sec-dark .eyebrow { color:var(--g3); }
.sec-dark .divider { background:#444; }
.sec-off { background:var(--off); }

/* ── LOGO PATTERN BG — maior e mais visível ── */
.logo-pattern-bg { position:relative; overflow:hidden; }
.logo-pattern-bg::before {
  content:'';
  position:absolute; inset:0;
  background-image:url('../img/logo_ferrari_hub.png');
  background-size:420px auto;
  background-repeat:repeat;
  opacity:.028;
  filter:grayscale(1);
  pointer-events:none; z-index:0;
}
.logo-pattern-bg > * { position:relative; z-index:1; }

/* Variante cinza — fundo off-white com logo pattern mais escuro */
.logo-pattern-gray {
  background:var(--g1);
  position:relative; overflow:hidden;
}
.logo-pattern-gray::before {
  content:'';
  position:absolute; inset:0;
  background-image:url('../img/logo_ferrari_hub.png');
  background-size:380px auto;
  background-repeat:repeat;
  opacity:.035;
  filter:grayscale(1) contrast(1.1);
  pointer-events:none; z-index:0;
}
.logo-pattern-gray > * { position:relative; z-index:1; }

/* ── HOME GRID ── */
.home-intro {
  display:grid; grid-template-columns:1fr 1fr;
  gap:80px; align-items:center;
  padding:100px 8%; max-width:1600px; margin:0 auto;
}
.home-image { position:relative; height:620px; }
.home-image img { width:100%; height:100%; object-fit:cover; }
.home-image::after {
  content:'';
  position:absolute; top:20px; left:20px; right:-20px; bottom:-20px;
  border:1px solid var(--g2); z-index:-1;
}

/* ── MODELS GRID ── */
.models-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; }
.model-card { position:relative; overflow:hidden; cursor:pointer; }
.model-card.tall { grid-row:span 2; }
.model-card img {
  width:100%; height:100%; object-fit:cover;
  display:block; aspect-ratio:2/3;
  transition:transform .6s ease, filter .5s;
}
.model-card.tall img { aspect-ratio:unset; height:100%; }
.model-card:hover img { transform:scale(1.04); }
.model-overlay { position:absolute; inset:0; background:linear-gradient(transparent 55%, rgba(0,0,0,.7)); opacity:0; transition:opacity .4s; }
.model-card:hover .model-overlay { opacity:1; }
.model-name {
  position:absolute; bottom:18px; left:18px; right:18px;
  color:white; font-size:10px; letter-spacing:3px; text-transform:uppercase;
  transform:translateY(8px); opacity:0; transition:.4s;
}
.model-card:hover .model-name { transform:translateY(0); opacity:1; }

/* ── CASTING GRID ── */
.cast-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; grid-auto-flow:dense; }
.cast-item { position:relative; overflow:hidden; height:480px; }
.cast-item.wide { grid-column:span 2; }
.cast-item img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.cast-item:hover img { transform:scale(1.04); }
.cast-label {
  position:absolute; bottom:0; left:0; right:0;
  padding:30px 20px 18px;
  background:linear-gradient(transparent, rgba(0,0,0,.75));
  color:white; font-size:10px; letter-spacing:3px; text-transform:uppercase;
  transform:translateY(100%); transition:.4s;
}
.cast-item:hover .cast-label { transform:translateY(0); }

/* ── CRIS ── */
.cris-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.cris-photos { display:grid; grid-template-columns:1fr 1fr; gap:8px; height:660px; }
.cris-photos img { width:100%; height:100%; object-fit:cover; display:block; }
.stat-row { display:flex; gap:80px; flex-wrap:nowrap; justify-content:center; margin-top:60px; }
.stat-num { font-family:'Cormorant Garamond',serif; font-size:3.2rem; font-weight:300; line-height:1; }
.stat-label { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--g4); margin-top:4px; }

/* ── MVV ── */
.mvv-row { display:grid; grid-template-columns:repeat(3,1fr); margin-top:32px; max-width:900px; margin-left:auto; margin-right:auto; }
.mvv-item { padding:28px 32px; border-right:1px solid var(--g2); text-align:center; }
.mvv-item:last-child { border-right:none; }
.mvv-label { font-size:9px; letter-spacing:3px; text-transform:uppercase; color:var(--g4); display:block; margin-bottom:14px; font-weight:600; }
.mvv-text { font-size:13px; line-height:1.8; color:var(--ink); }

/* ── ABM ── */
.abm-hero-strip { height:65vh; position:relative; overflow:hidden; }
.abm-hero-strip img { width:100%; height:100%; object-fit:cover; object-position:center 30%; filter:brightness(.45); }
.abm-hero-text {
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; color:white; gap:16px;
}
.abm-hero-text h1 { font-size:clamp(2.5rem,6vw,5.5rem); color:white; }

.abm-content { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:100px 8%; max-width:1600px; margin:0 auto; align-items:start; }

/* pilares ABM — fontes maiores */
.pillar-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:28px; }
.pillar { padding:30px 24px; border:1px solid var(--g2); transition:border-color .3s, transform .3s; }
.pillar:hover { border-color:var(--g3); transform:translateY(-3px); }
.pillar h4 {
  font-size:13px; letter-spacing:3px; text-transform:uppercase;
  color:var(--black); margin-bottom:12px; font-weight:600;
}
.pillar p { font-size:16px; color:var(--g4); line-height:1.7; }

/* ABM GALERIA */
.abm-gallery {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  grid-auto-rows:280px;
  gap:6px;
}
.gal-item { overflow:hidden; position:relative; cursor:pointer; }
.gal-item.tall { grid-row:span 2; }
.gal-item.wide { grid-column:span 2; }
.gal-item img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.gal-item:hover img { transform:scale(1.05); }

/* ── DEPOIMENTOS — editorial, foto vazando ── */
.dep-section {
  background:var(--white);
  padding:100px 8%;
}
.dep-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  max-width:1600px;
  margin:0 auto;
}

/* Card com foto circular grande vazando pelo topo */
.dep-card {
  background:var(--white);
  border:1px solid var(--g2);
  padding:0 32px 36px;
  display:flex;
  flex-direction:column;
  position:relative;
  margin-top:60px; /* espaço para a foto vazar */
  transition:box-shadow .35s, transform .35s;
}
.dep-card:hover {
  box-shadow:0 12px 40px rgba(0,0,0,.07);
  transform:translateY(-4px);
}

/* Foto circular grande vazando para cima do card */
.dep-face {
  width:110px;
  height:110px;
  border-radius:50%;
  overflow:hidden;
  border:3px solid var(--white);
  outline:1px solid var(--g2);
  position:absolute;
  top:-55px;           /* vaza 55px para cima */
  left:32px;
  flex-shrink:0;
  background:var(--g1);
  box-shadow:0 4px 18px rgba(0,0,0,.10);
}
.dep-face img { width:100%; height:100%; object-fit:cover; }

/* Placeholder quando não tem foto */
.face-ph {
  width:110px; height:110px; border-radius:50%;
  background:var(--g1);
  border:3px solid var(--white);
  outline:1px solid var(--g2);
  display:flex; align-items:center; justify-content:center;
  position:absolute; top:-55px; left:32px;
  box-shadow:0 4px 18px rgba(0,0,0,.10);
}
.face-ph svg { width:42px; height:42px; stroke:var(--g3); fill:none; stroke-width:1; }

/* Espaço interno para a foto não sobrepor o texto */
.dep-card-body {
  padding-top:70px; /* clearance da foto */
  display:flex;
  flex-direction:column;
  flex:1;
}

.dep-quote-mark {
  font-family:'Cormorant Garamond',serif;
  font-size:80px; color:var(--g2); line-height:.8;
  margin-bottom:-8px; display:block;
}
.dep-quote {
  font-family:'Cormorant Garamond',serif;
  font-size:18px; font-style:italic;
  line-height:1.78; color:var(--g5); flex:1;
}
.dep-author {
  margin-top:24px; padding-top:16px;
  border-top:1px solid var(--g2);
  font-size:10px; letter-spacing:3px;
  text-transform:uppercase; color:var(--g4);
}

/* ── REVISTAS ── */
.rev-featured {
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  align-items:center; padding:120px 8% 80px; max-width:1600px; margin:0 auto;
}
.rev-featured-img { position:relative; overflow:hidden; cursor:pointer; }
.rev-featured-img img { width:100%; aspect-ratio:2/3; object-fit:cover; transition:transform .6s; }
.rev-featured-img:hover img { transform:scale(1.03); }
.rev-ed { font-size:11px; letter-spacing:4px; text-transform:uppercase; color:var(--g4); display:block; margin-bottom:16px; }
.rev-title { font-size:clamp(2.4rem,4vw,3.8rem); font-weight:300; margin-bottom:24px; line-height:1.05; }
.rev-desc { font-size:16px; line-height:1.9; color:var(--g5); }
.btn-outline {
  display:inline-block; margin-top:32px;
  padding:15px 38px;
  border:1px solid var(--black); color:var(--black);
  font-size:10px; letter-spacing:3px; text-transform:uppercase;
  font-weight:500; cursor:pointer; transition:all .3s;
}
.btn-outline:hover { background:var(--black); color:var(--white); }

/* Separador entre featured e grid */
.rev-grid-header {
  padding:0 8% 30px; max-width:1600px; margin:0 auto;
  border-top:1px solid var(--g2); padding-top:60px;
}
.rev-grid-header .eyebrow { margin-bottom:0; }

.rev-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  padding:30px 8% 100px; max-width:1600px; margin:0 auto;
}
.rev-item { position:relative; overflow:hidden; cursor:pointer; }
.rev-item img { width:100%; aspect-ratio:2/3; object-fit:cover; transition:transform .6s; display:block; }
.rev-item:hover img { transform:scale(1.04); }
.rev-item-label {
  position:absolute; bottom:0; left:0; right:0;
  padding:22px 16px 14px;
  background:linear-gradient(transparent, rgba(0,0,0,.82));
  color:white; font-size:10px; letter-spacing:3px; text-transform:uppercase;
  opacity:0; transform:translateY(4px); transition:.4s;
}
.rev-item:hover .rev-item-label { opacity:1; transform:translateY(0); }
/* Nome sempre visível abaixo da capa */
.rev-item-name {
  display:block; padding:12px 4px 0;
  font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--g4);
}

/* ── MUNDO ── */
.mundo-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.mundo-img { position:relative; height:560px; }
.mundo-img img { width:100%; height:100%; object-fit:cover; }
.mundo-badge {
  position:absolute; bottom:-20px; right:-20px;
  background:var(--black); color:var(--white);
  padding:20px 26px; text-align:center;
}
.mundo-badge strong { display:block; font-family:'Cormorant Garamond',serif; font-size:2.4rem; font-weight:300; margin-bottom:2px; }
.mundo-badge span { font-size:9px; letter-spacing:4px; text-transform:uppercase; color:var(--g3); }
.mundo-list { list-style:none; margin-top:36px; }
.mundo-list li {
  padding:17px 0; border-bottom:1px solid var(--g2);
  display:flex; align-items:center; gap:16px;
  font-size:15px; color:var(--g5); transition:color .3s;
}
.mundo-list li:hover { color:var(--black); }
.mundo-list li::before { content:'→'; color:var(--g3); transition:color .3s; }
.mundo-list li:hover::before { color:var(--black); }

/* ── QUERO SER MODELO ── */
.qs-hero { height:70vh; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.qs-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.4); }
.qs-hero-text { position:relative; text-align:center; color:white; padding:0 20px; }
.qs-hero-text h1 { font-size:clamp(3rem,7vw,6rem); color:white; margin-bottom:20px; }
.qs-hero-text p { font-size:15px; color:rgba(255,255,255,.8); max-width:500px; margin:0 auto; }
.qs-content { padding:90px 8%; max-width:900px; margin:0 auto; }
.qs-steps { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin:50px 0; }
.qs-step { padding:36px 28px; border:1px solid var(--g2); position:relative; transition:border-color .3s, transform .3s; }
.qs-step:hover { border-color:var(--g3); transform:translateY(-3px); }
.qs-step-num { font-family:'Cormorant Garamond',serif; font-size:3rem; color:var(--g2); position:absolute; top:16px; right:20px; line-height:1; }
.qs-step h3 { font-size:1.3rem; margin-bottom:10px; }
.qs-step p { font-size:14px; }
.btn-wa {
  display:inline-flex; align-items:center; gap:12px;
  background:white; color:var(--black);
  border:1.5px solid var(--black);
  padding:13px 32px; font-size:12px; letter-spacing:2px;
  text-transform:uppercase; font-weight:600; cursor:pointer;
  transition:background .3s, color .3s, transform .2s; margin-top:14px;
}
.btn-wa:hover { background:var(--black); color:white; transform:translateY(-2px); }
.btn-wa:hover svg { fill:white; }
.btn-wa svg { width:22px; height:22px; fill:var(--black); transition:fill .3s; }
/* WhatsApp float mantém verde */
.wa-float { background:var(--wa) !important; }
.wa-float:hover { background:var(--wa) !important; }

.rev-btn-mobile { display:none; }

/* ── FERRARIHUB INTRO ── */
@media(max-width:1024px) {
  .fh-intro-grid { grid-template-columns:1fr !important; gap:36px !important; }
  .fh-intro-img { height:380px !important; order:2; }
  .fh-intro-text { order:1; }
  .mvv-row { grid-template-columns:1fr; }
  .mvv-item { border-right:none; border-bottom:1px solid var(--g2); }
  .mvv-item:last-child { border-bottom:none; }
}

/* ── FOOTER — mais contraste ── */
footer {
  background:linear-gradient(135deg, #1a1714 0%, #0d0c0b 40%, #000 100%);
  color:var(--white);
  padding:80px 8% 44px;
}
.footer-inner {
  display:grid; grid-template-columns:1fr 1.6fr 1.2fr;
  gap:60px; max-width:1600px; margin:0 auto 56px;
}
.footer-logo img { height:34px; object-fit:contain; display:block; filter:brightness(0) invert(1); opacity:.9; }
.footer-logo img+img { margin-top:14px; }
.footer-logo p { font-size:13px; color:#bbb; line-height:1.9; margin-top:20px; max-width:210px; }
.footer-nav-label { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:#777; margin-bottom:20px; display:block; font-weight:600; }
.footer-nav-links { display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; }
.footer-nav-links a { font-size:13px; color:#ffffff; transition:color .3s; }
.footer-nav-links a:hover { color:white; }
.footer-contact-label { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:#777; margin-bottom:16px; display:block; font-weight:600; }
.footer-contact p { font-size:13px; color:#ccc; line-height:2.2; }
.footer-contact a { color:#ffffff; transition:color .3s; }
.footer-contact a:hover { color:white; }
.footer-bottom {
  border-top:1px solid #222; padding-top:28px;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:12px; max-width:1600px; margin:0 auto;
}
.footer-bottom p { font-size:11px; color:#888; letter-spacing:1px; }


/* ── WHATSAPP FLOAT ── */
.wa-float {
  position:fixed; bottom:28px; right:28px; z-index:999;
  width:58px; height:58px; border-radius:50%;
  background:var(--wa); display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  opacity:0; pointer-events:none;
  transition:transform .3s, box-shadow .3s, opacity .4s;
}
.wa-float.visible { opacity:1; pointer-events:auto; }
.wa-float:hover { transform:scale(1.1); box-shadow:0 6px 28px rgba(37,211,102,.55); }
.wa-float svg { width:30px; height:30px; fill:white; }

/* ── LIGHTBOX ── */
#lightbox {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.95); z-index:9999;
  align-items:center; justify-content:center; cursor:pointer;
}
#lightbox img { max-height:90vh; max-width:90vw; object-fit:contain; }
#lb-close { position:absolute; top:22px; right:30px; font-size:36px; color:#ccc; cursor:pointer; }
#lb-close:hover { color:white; }

/* ── FADE UP ── */
.fade-up { opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* ── MARQUEE INFINITO ── */
.marquee-section { overflow:hidden; background:var(--white); padding:80px 0; }
.marquee-track {
  display:flex; gap:6px; width:max-content;
  animation:marquee 35s linear infinite;
}
.marquee-section:hover .marquee-track { animation-play-state:paused; }
.marquee-item { flex-shrink:0; width:340px; height:500px; overflow:hidden; }
.marquee-item img { width:100%; height:100%; object-fit:cover; display:block; }
@keyframes marquee {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}

/* ── GEO LINE ── */
.geo-line { width:100%; height:1px; background:linear-gradient(to right, transparent, rgba(216,215,211,0), transparent); }

/* ── PAGE HEADER ── */
.page-header {
  padding:130px 8% 80px;
  border-bottom:1px solid var(--g2);
  position:relative; overflow:hidden;
}
.page-header-bg {
  position:absolute; inset:0;
  background-image:url('../img/logo_ferrari_hub.png');
  background-size:420px auto; background-repeat:repeat;
  opacity:.028; filter:grayscale(1); pointer-events:none;
}

/* ── MOBILE ── */
@media(max-width:1024px) {
  .home-intro,.cris-grid,.abm-content,.mundo-grid,.rev-featured { grid-template-columns:1fr; gap:44px; }
  .home-image,.mundo-img { height:400px; }
  .models-grid { grid-template-columns:repeat(2,1fr); }
  .dep-grid { grid-template-columns:1fr 1fr; gap:60px 30px; }
  .rev-grid { grid-template-columns:repeat(2,1fr); }
  .cast-grid { grid-template-columns:1fr 1fr; }
  .cast-item.wide { grid-column:span 2; }
  .abm-gallery { grid-template-columns:repeat(3,1fr); }
  .pillar-grid { grid-template-columns:1fr; }
  .footer-inner { grid-template-columns:1fr; }
  .qs-steps { grid-template-columns:1fr; }
  .nav-inner { padding:0 24px; }
  .nav-links {
    display:none; flex-direction:column; position:absolute;
    top:var(--nav-h); left:0; right:0; background:white;
    border-top:1px solid var(--g2); padding:16px 0;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
  }
  .nav-links.open { display:flex; }
  .nav-links a { line-height:1; padding:16px 24px; }
  .nav-links a::after { display:none; }
  .nav-link-modelo { line-height:1 !important; margin:8px 16px !important; }
  .hamburger { display:flex; }
  .sec,.sec-full { padding:70px 6%; }
}
@media(max-width:600px) {
  .dep-grid { grid-template-columns:1fr; gap:70px 0; }
  .rev-grid { grid-template-columns:1fr; }
  .abm-gallery { grid-template-columns:repeat(2,1fr); }
  .models-grid { grid-template-columns:repeat(2,1fr); }
  .cast-grid { grid-template-columns:1fr; }
  .cast-item.wide { grid-column:span 1; }
  .cris-photos { grid-template-columns:1fr; grid-template-rows:auto; }
  .cris-photos img { height:280px; }
  .footer-nav-links { grid-template-columns:1fr; }
  .stat-row { gap:24px; flex-wrap:wrap; }
  .stat-row > div { flex:1 1 auto; text-align:center; }
  .slide img { object-position:right center; filter:brightness(.9); }
  .slide-overlay { background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.62) 100%); }
  .carousel-nav { bottom:3%; right:50%; transform:translateX(50%); }
  .slide-content { bottom:10%; }
  .marquee-section { padding:30px 0; }
  .marquee-section .sec { padding-top:30px; }
  .rev-teaser-grid { grid-template-columns:1fr !important; }
  .rev-teaser-text { grid-column:1/2 !important; }
  .rev-teaser-second { display:none; }
  .rev-btn-desktop { display:none !important; }
  .rev-btn-mobile { display:block; text-align:center; margin-top:16px; }
}

/* ── RUNWAY PATTERN — passarela lateral + ondas + alfaiataria ── */
.runway-bg {
  position: relative;
  overflow: hidden;
}
.runway-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
  z-index: 0;
}
.runway-bg > * { position: relative; z-index: 1; }

/* SVG do pattern inline via background — usamos a versão CSS */
.runway-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.5;
}
