/* Gabi Mantovani · Mídia kit 2026 */

:root {
  --creme: #F2EEE6;
  --creme-2: #EAE4D8;
  --areia: #E8D8C3;
  --ink: #1C1A17;
  --ink-soft: #4A453D;
  --terra: #A05A2C;
  --terra-dark: #7A4220;
  --terra-soft: #C98A5E;
  --line: rgba(28, 26, 23, .14);

  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'Inter', system-ui, sans-serif;

  --gutter: clamp(20px, 5vw, 80px);
  --ease: cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body {
  background: var(--creme);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, video, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
em { font-style: italic; }

/* ---------- textura de filme ---------- */
.grain {
  position: fixed; inset: -50%; z-index: 90; pointer-events: none;
  opacity: .07; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.progress {
  position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 80;
  background: var(--terra); transform-origin: 0 50%; transform: scaleX(0);
}

/* ---------- nav ---------- */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 70;
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px var(--gutter);
  transition: background .5s var(--ease), color .5s var(--ease), transform .6s var(--ease), padding .5s var(--ease);
}
.nav.is-solid { background: rgba(242, 238, 230, .82); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); padding-top: 12px; padding-bottom: 12px; }
.nav.is-dark { color: var(--creme); }
.nav.is-dark.is-solid { background: rgba(28, 26, 23, .6); }
.nav.is-hidden { transform: translateY(-100%); }
.nav__brand { font-family: var(--serif); font-style: italic; font-size: 19px; letter-spacing: .01em; }
.nav__links { display: flex; align-items: center; gap: 30px; }
.nav__links a {
  font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase;
  position: relative; padding: 4px 0;
}
.nav__links a::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: right; transition: transform .5s var(--ease);
}
.nav__links a:hover::after { transform: scaleX(1); transform-origin: left; }
.nav__cta { border: 1px solid currentColor; padding: 8px 16px !important; }
.nav__cta::after { display: none; }
.nav__toggle { display: none; width: 34px; height: 34px; position: relative; }
.nav__toggle span { position: absolute; left: 6px; right: 6px; height: 1.5px; background: currentColor; transition: transform .4s var(--ease), top .4s var(--ease); }
.nav__toggle span:first-child { top: 13px; }
.nav__toggle span:last-child { top: 20px; }
.nav.is-open .nav__toggle span:first-child { top: 17px; transform: rotate(45deg); }
.nav.is-open .nav__toggle span:last-child { top: 17px; transform: rotate(-45deg); }

/* ---------- tipografia comum ---------- */
.eyebrow { font-size: 11px; font-weight: 500; letter-spacing: .28em; text-transform: uppercase; color: var(--terra); }
.label {
  display: flex; align-items: center; gap: 14px;
  font-size: 11px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--ink-soft);
  margin-bottom: 26px;
}
.label span { font-family: var(--serif); font-style: italic; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--terra); }
.label::after { content: ''; width: 48px; height: 1px; background: currentColor; opacity: .5; }
.title {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(2.3rem, 5.2vw, 4.8rem); line-height: 1.04; letter-spacing: -.015em;
}
.title em { color: var(--terra); }
.title--xl { font-size: clamp(3rem, 7.4vw, 7rem); line-height: .98; }
.line-mask { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
.line-mask > span { display: block; }

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
  padding: 16px 26px; border: 1px solid var(--terra);
  position: relative; overflow: hidden; isolation: isolate;
  transition: color .5s var(--ease), border-color .5s var(--ease);
}
.btn::before {
  content: ''; position: absolute; inset: 0; z-index: -1; background: var(--ink);
  transform: translateY(101%); transition: transform .6s var(--ease);
}
.btn:hover::before { transform: translateY(0); }
.btn:hover { color: var(--creme); border-color: var(--ink); }
.btn--solid { background: var(--terra); color: var(--creme); }
.btn--line { color: var(--terra); }

/* ---------- o fio ---------- */
main { position: relative; }
.fio { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; overflow: visible; }
.fio path { fill: none; stroke: var(--terra); stroke-width: 1.2; stroke-linecap: round; opacity: .55; }
section > *, .amanhece { position: relative; z-index: 2; }

/* ---------- assinatura ---------- */
.sig path { fill: var(--terra); stroke: var(--terra); stroke-width: 3; stroke-linejoin: round; }
.sig { width: 100%; height: auto; overflow: visible; }

/* ---------- hero ---------- */
.hero {
  min-height: 100vh; min-height: 100svh;
  display: grid; grid-template-columns: 1.08fr .92fr;
  position: relative; overflow: hidden;
}
.hero__text {
  display: flex; flex-direction: column; justify-content: center;
  padding: 120px var(--gutter) 90px;
}
.hero__eyebrow { margin-bottom: 26px; }
.hero__sign { font-weight: 400; margin-bottom: 30px; }
.hero__sign-l1 { display: block; width: min(29vw, 440px); margin-left: -1.4vw; }
.hero__sign-l2 { display: block; width: min(47vw, 700px); margin-top: -4.4vw; margin-left: 5vw; }
.hero__tagline { font-size: 11px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; margin-bottom: 18px; }
.hero__lead { max-width: 430px; color: var(--ink-soft); margin-bottom: 36px; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }

.hero__photo { position: relative; overflow: hidden; background: var(--ink); }
.hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transform-origin: 50% 40%; }
.hero__light {
  position: absolute; inset: -20%; pointer-events: none; mix-blend-mode: soft-light;
  background: linear-gradient(112deg, transparent 32%, rgba(255, 243, 222, .7) 44%, rgba(255, 243, 222, .15) 52%, transparent 62%);
  translate: var(--lx, 0px) var(--ly, 0px);
  animation: janela 11s ease-in-out infinite alternate;
}
@keyframes janela {
  from { transform: translateX(-14%) rotate(-2deg); opacity: .6; }
  to   { transform: translateX(14%) rotate(2deg); opacity: 1; }
}
.hero__photo figcaption {
  position: absolute; left: 24px; bottom: 22px; color: var(--creme);
  font-size: 10px; letter-spacing: .26em; text-transform: uppercase; opacity: .75;
}
.hero > .hero__scroll {
  position: absolute; left: var(--gutter); bottom: 30px;
  display: flex; align-items: center; gap: 12px;
  font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: var(--ink-soft);
}
.hero__scroll span { width: 1px; height: 38px; background: var(--line); position: relative; overflow: hidden; }
.hero__scroll span::after {
  content: ''; position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: var(--terra);
  animation: desce 2.2s var(--ease) infinite;
}
@keyframes desce { to { top: 110%; } }

/* ---------- sobre ---------- */
.sobre {
  display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 7vw, 120px); align-items: center;
  padding: clamp(110px, 16vh, 180px) var(--gutter);
}
.sobre__photo { position: relative; }
.colorize { position: relative; aspect-ratio: 4 / 5.4; overflow: hidden; border-radius: 3px; }
.colorize img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }
.note {
  position: absolute; right: -10px; bottom: -58px;
  display: flex; align-items: flex-end; gap: 6px;
  font-family: var(--serif); font-style: italic; font-size: 20px; color: var(--terra);
}
.note__arrow { width: 90px; transform: scaleX(-1) rotate(-8deg); margin-bottom: 14px; }
.note__arrow path { fill: none; stroke: var(--terra); stroke-width: 1.6; stroke-linecap: round; }

.sobre__body { margin-top: 34px; max-width: 540px; }
.sobre__body p + p { margin-top: 16px; }
.sobre__body p { color: var(--ink-soft); }
.dropcap::first-letter {
  font-family: var(--serif); float: left; font-size: 4.3em; line-height: .82;
  padding: 6px 12px 0 0; color: var(--terra);
}
.quote { margin-top: 46px; padding-top: 30px; border-top: 1px solid var(--line); max-width: 540px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.quote p { font-family: var(--serif); font-style: italic; font-size: clamp(1.4rem, 2.2vw, 2rem); line-height: 1.2; }
.quote__sign { width: 110px; flex: none; }

/* ---------- um dia comigo ---------- */
.dia { position: relative; background: var(--dia-bg, var(--creme)); color: var(--dia-ink, var(--ink)); }
.dia__intro { padding: clamp(80px, 12vh, 140px) var(--gutter) 40px; max-width: 900px; }
.dia__sub { margin-top: 26px; max-width: 480px; color: var(--ink-soft); }

.dia__grid { display: grid; grid-template-columns: 36% 64%; }
.dia__side { position: relative; }
.dia__sticky {
  position: sticky; top: 0; height: 100vh;
  display: flex; flex-direction: column; justify-content: center;
  padding-left: var(--gutter);
}
.sol { width: min(240px, 80%); margin-bottom: 24px; overflow: visible; }
.sol__arc { fill: none; stroke: currentColor; stroke-width: 1; stroke-dasharray: 3 6; opacity: .45; }
.sol__horizon { stroke: currentColor; stroke-width: 1; opacity: .3; }
.sol__dot { fill: var(--dia-accent, var(--terra)); }
.dia__periodo { font-family: var(--serif); font-style: italic; font-size: clamp(2.4rem, 3.7vw, 3.8rem); line-height: 1; color: var(--dia-accent, var(--terra)); }
.dia__count { margin-top: 18px; font-size: 11px; letter-spacing: .26em; text-transform: uppercase; opacity: .6; }

.dia__momentos { list-style: none; }
.momento {
  min-height: 100vh; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: clamp(30px, 5vw, 80px);
  padding: 60px var(--gutter) 60px 0;
  transition: color .8s var(--ease);
}
/* sem JS: cada momento carrega a própria luz */
.momento:nth-child(1) { background: var(--creme); }
.momento:nth-child(2) { background: var(--areia); }
.momento:nth-child(3) { background: #B9774B; color: var(--creme); }
.momento:nth-child(4) { background: var(--ink); color: var(--creme); }
.dia.is-live .momento { background: transparent; color: inherit; }

.momento__periodo { font-size: 11px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; margin-bottom: 14px; opacity: .7; }
.momento h3 { font-family: var(--serif); font-weight: 400; font-size: clamp(2rem, 3.6vw, 3.4rem); line-height: 1.05; margin-bottom: 18px; }
.momento__text > p:not(.momento__periodo):not(.momento__marca) { max-width: 400px; opacity: .85; }
.momento__marca {
  margin-top: 26px; padding-top: 16px; border-top: 1px solid currentColor; max-width: 400px;
  font-size: 13px; opacity: .9;
}
.momento__marca span { display: block; font-size: 10px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; margin-bottom: 4px; opacity: .7; }

.momento--noite { grid-template-columns: 1fr; min-height: 90vh; }
.momento--noite h3 { font-size: clamp(2.6rem, 5.4vw, 5.2rem); max-width: 11ch; }
.momento--noite h3 em { color: var(--terra-soft); }

.reel {
  position: relative; width: clamp(220px, 21vw, 300px); aspect-ratio: 9 / 16;
  border-radius: 30px; overflow: hidden; background: var(--ink);
  border: 7px solid var(--ink);
  box-shadow: 0 40px 80px -30px rgba(28, 26, 23, .55), 0 0 0 1px rgba(255, 255, 255, .06) inset;
  transform-style: preserve-3d;
}
.reel video { width: 100%; height: 100%; object-fit: cover; border-radius: 22px; }
.reel__hint {
  position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%);
  font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: #fff;
  background: rgba(28, 26, 23, .45); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  padding: 7px 12px; border-radius: 30px; white-space: nowrap;
}
.reel::after {
  content: ''; position: absolute; top: 9px; left: 50%; width: 70px; height: 20px; border-radius: 20px;
  background: var(--ink); transform: translateX(-50%);
}

/* ---------- números ---------- */
.numeros { background: var(--ink); color: var(--creme); padding: clamp(100px, 14vh, 160px) var(--gutter) 70px; }
.numeros .label { color: rgba(242, 238, 230, .6); }
.numeros .title em { color: var(--terra-soft); }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 70px; border-top: 1px solid rgba(242, 238, 230, .15); }
.stat { padding: 34px 24px 34px 0; border-right: 1px solid rgba(242, 238, 230, .1); }
.stat + .stat { padding-left: 24px; }
.stat:last-child { border-right: 0; }
.stat__v { font-family: var(--serif); font-size: clamp(3rem, 5.6vw, 5.6rem); line-height: 1; letter-spacing: -.02em; white-space: nowrap; }
.stat__v small { font-style: italic; font-size: .42em; color: var(--terra-soft); margin-left: 6px; letter-spacing: 0; }
.stat__l { margin-top: 12px; font-size: 13px; opacity: .65; }

.cresce { margin-top: 70px; border: 1px solid rgba(242, 238, 230, .12); border-radius: 4px; padding: 30px 32px 26px; }
.cresce__t { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; opacity: .6; margin-bottom: 18px; }
.cresce__svg { width: 100%; height: auto; overflow: visible; }
.cresce__line { fill: none; stroke: var(--terra-soft); stroke-width: 3; }
.cresce__a { fill: var(--creme); opacity: .6; }
.cresce__b { fill: var(--terra-soft); }
.cresce__labels { display: flex; justify-content: space-between; margin-top: 14px; font-size: 13px; opacity: .8; }
.cresce__labels strong { font-family: var(--serif); font-weight: 400; font-size: 1.9rem; margin-right: 6px; }

.publico { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 16px; margin-top: 16px; }
.publico__card { border: 1px solid rgba(242, 238, 230, .12); border-radius: 4px; padding: 28px 30px; }
.publico__card--ring { display: flex; align-items: center; gap: 26px; }
.ring { width: 118px; flex: none; transform: rotate(-90deg); }
.ring circle { fill: none; stroke-width: 5; }
.ring__bg { stroke: rgba(242, 238, 230, .12); }
.ring__fg { stroke: var(--terra-soft); stroke-linecap: round; }
.publico__v { font-family: var(--serif); font-size: clamp(2.4rem, 3.6vw, 3.4rem); line-height: 1; }
.publico__l { margin-top: 10px; font-size: 13px; opacity: .7; max-width: 30ch; }
.publico__l strong { font-weight: 500; opacity: 1; }
.bar { height: 3px; background: rgba(242, 238, 230, .12); margin-top: 22px; border-radius: 3px; overflow: hidden; }
.bar span { display: block; height: 100%; background: var(--terra-soft); width: 0; }
.fonte { margin-top: 36px; font-size: 11px; opacity: .45; }

.amanhece {
  height: 46vh;
  background: linear-gradient(180deg, var(--ink) 0%, #3A2418 28%, var(--terra-dark) 48%, #D2A07A 72%, var(--creme) 100%);
}

/* ---------- marcas ---------- */
.marcas { padding: clamp(60px, 10vh, 120px) var(--gutter) clamp(90px, 14vh, 160px); }
.marcas__list { list-style: none; margin-top: 60px; border-bottom: 1px solid var(--line); }
.marcas__list li {
  position: relative; display: flex; align-items: baseline; justify-content: space-between; gap: 20px;
  padding: 26px 0; border-top: 1px solid var(--line); overflow: hidden;
}
.marcas__list li::before {
  content: ''; position: absolute; inset: 0; background: var(--terra); z-index: -1;
  transform: scaleY(0); transform-origin: bottom; transition: transform .6s var(--ease);
}
.marcas__n { font-family: var(--serif); font-size: clamp(2rem, 4.6vw, 4.2rem); line-height: 1.05; transition: transform .6s var(--ease), color .5s; }
.marcas__c { font-size: 11px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--ink-soft); text-align: right; transition: color .5s; }
.marcas__list li:nth-child(even) .marcas__n { font-style: italic; color: var(--terra); }
@media (hover: hover) {
  .marcas__list li:hover::before { transform: scaleY(1); }
  .marcas__list li:hover .marcas__n { transform: translateX(22px); color: var(--creme); }
  .marcas__list li:hover .marcas__c { color: var(--creme); }
}

/* ---------- formatos ---------- */
.formatos { padding: 0 var(--gutter) clamp(100px, 14vh, 170px); }
.formatos__grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 60px; border-top: 1px solid var(--line); }
.formato { padding: 34px 26px 10px; border-left: 1px solid var(--line); }
.formato:first-child { border-left: 0; padding-left: 0; }
.formato__n { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--terra); }
.formato h3 { font-family: var(--serif); font-weight: 400; font-size: 1.7rem; line-height: 1.1; margin: 26px 0 12px; }
.formato p { font-size: 14px; color: var(--ink-soft); }
.formatos__prazo { margin-top: 50px; font-size: 11px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--terra); }

/* ---------- contato ---------- */
.contato {
  background: var(--creme-2);
  display: grid; grid-template-columns: .8fr 1.2fr; align-items: end; gap: clamp(30px, 5vw, 80px);
  padding: clamp(100px, 14vh, 160px) var(--gutter) 0; overflow: hidden;
}
.contato__photo img { width: 100%; max-width: 480px; margin: 0 auto; }
.contato__text { padding-bottom: clamp(80px, 12vh, 140px); }
.contato__sub { margin-top: 26px; max-width: 440px; color: var(--ink-soft); }
.contato__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.contato__sign { margin-top: 54px; display: flex; flex-direction: column; align-items: flex-start; }
.contato__beijo { font-family: var(--serif); font-style: italic; color: var(--ink-soft); font-size: 18px; }
.contato__sign .sig { width: 210px; margin-top: -6px; }

.footer {
  display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap;
  padding: 26px var(--gutter); background: var(--ink); color: rgba(242, 238, 230, .6);
  font-size: 12px; letter-spacing: .04em;
}
.footer { align-items: center; }
.footer__vexx { display: inline-flex; align-items: center; gap: 12px; transition: opacity .4s; }
.footer__vexx img { height: 13px; width: auto; }
.footer__vexx:hover { opacity: .7; }

/* ---------- lightbox ---------- */
.lightbox {
  position: fixed; inset: 0; z-index: 100; background: rgba(20, 18, 16, .92);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transition: opacity .5s var(--ease), visibility .5s;
}
.lightbox.is-open { opacity: 1; visibility: visible; }
.lightbox video { max-height: 88vh; max-width: 92vw; aspect-ratio: 9 / 16; border-radius: 18px; background: #000; }
.lightbox__close {
  position: absolute; top: 22px; right: 26px; color: var(--creme);
  font-size: 11px; letter-spacing: .26em; text-transform: uppercase; padding: 10px;
}

/* ---------- tablet e celular ---------- */
@media (max-width: 1000px) {
  .stats { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(3) { padding-left: 0; }
  .stat:nth-child(n+3) { border-top: 1px solid rgba(242, 238, 230, .1); }
  .publico { grid-template-columns: 1fr 1fr; }
  .publico__card--ring { grid-column: 1 / -1; }
  .formatos__grid { grid-template-columns: 1fr 1fr; }
  .formato:nth-child(3) { border-left: 0; padding-left: 0; }
  .formato:nth-child(n+3) { border-top: 1px solid var(--line); margin-top: 20px; }
}

@media (max-width: 820px) {
  .nav__links {
    position: fixed; inset: 0; z-index: -1; background: var(--creme); color: var(--ink);
    flex-direction: column; justify-content: center; gap: 26px;
    opacity: 0; visibility: hidden; transition: opacity .5s var(--ease), visibility .5s;
  }
  .nav__links a { font-size: 14px; }
  .nav.is-open { color: var(--ink); }
  .nav.is-open .nav__links { opacity: 1; visibility: visible; }
  .nav__toggle { display: block; }

  .hero { grid-template-columns: 1fr; }
  .hero__photo { order: -1; height: 64svh; }
  .hero__photo::after { content: ''; position: absolute; inset: auto 0 0 0; height: 42%; background: linear-gradient(transparent, var(--creme)); }
  .hero__photo figcaption { top: 76px; bottom: auto; left: auto; right: var(--gutter); }
  .hero__text { padding: 0 var(--gutter) 70px; margin-top: -30vw; position: relative; z-index: 3; }
  .hero__sign-l1 { width: 52vw; margin-left: -2vw; }
  .hero__sign-l2 { width: 84vw; margin-top: -7.5vw; margin-left: 4vw; }
  .hero > .hero__scroll { display: none; }

  .sobre { grid-template-columns: 1fr; gap: 90px; }
  .sobre__photo { max-width: 420px; }
  .note { right: 0; bottom: -60px; }

  .dia__grid { grid-template-columns: 1fr; }
  .dia__side { display: none; }
  .momento { grid-template-columns: 1fr; min-height: auto; padding: 90px var(--gutter); gap: 40px; }
  .reel { width: min(72vw, 300px); margin: 0 auto; }
  .momento--noite { min-height: 80vh; }

  .stats { margin-top: 44px; }
  .stat, .stat + .stat { padding: 26px 14px 26px 0; }
  .stat:nth-child(even) { padding-left: 14px; }
  .publico { grid-template-columns: 1fr; }
  .publico__card--ring { flex-direction: column; align-items: flex-start; }
  .cresce { padding: 22px 20px; }

  .marcas__list li { flex-direction: column; gap: 6px; }
  .marcas__c { text-align: left; }
  .formatos__grid { grid-template-columns: 1fr; }
  .formato, .formato:nth-child(3) { border-left: 0; padding: 28px 0 14px; }
  .formato + .formato { border-top: 1px solid var(--line); margin-top: 0; }
  .formato h3 { margin-top: 12px; }

  .contato { grid-template-columns: 1fr; padding-top: 90px; }
  .contato__text { padding-bottom: 50px; }
  .contato__photo { order: 2; }
  .contato__photo img { max-width: 360px; }
  .footer { flex-direction: column; align-items: flex-start; gap: 6px; }
  .footer__vexx { margin-top: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero__light, .hero__scroll span::after { animation: none; }
}

/* sem animação (reduced motion ou CDN fora): o dia vira blocos de luz, sem a coluna do sol */
.dia:not(.is-live) .dia__grid { grid-template-columns: 1fr; }
.dia:not(.is-live) .dia__side { display: none; }
.dia:not(.is-live) .momento { padding-left: var(--gutter); }
