:root {
  --black: #070303;
  --black-soft: #130607;
  --wine: #970008;
  --wine-dark: #3b0305;
  --wine-deep: #1c0405;
  --gold: #d2b86c;
  --cream: #eee4d4;
  --white: #fff8ed;
  --muted: #c8b7a3;
  --line: rgba(238,228,212,.14);
  --container: 1180px;
  --desktop-gutter: 180px;
  --radius: 26px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--black); color: var(--white); font-family: "Montserrat", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img, video { display: block; width: 100%; }
button { font: inherit; }
h1,h2,h3,p { margin-top: 0; }

.page-shell { overflow-x: hidden; background: radial-gradient(circle at 90% 12%, rgba(210,184,108,.04), transparent 26%), radial-gradient(circle at 10% 40%, rgba(151,0,8,.18), transparent 30%), linear-gradient(180deg,var(--wine-deep) 0,var(--black) 22%,#050303 78%,var(--wine-dark) 100%); }

.scroll-progress { position:fixed; z-index:20; top:0; left:0; width:100%; height:3px; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,var(--wine),var(--gold)); }
.topbar { position:sticky; z-index:15; top:0; display:flex; align-items:center; justify-content:space-between; gap:24px; width:min(100% - var(--desktop-gutter),var(--container)); margin:0 auto; padding:24px 0 10px; transition:.25s ease; }
.topbar.is-scrolled { width:100%; padding:10px max(36px,calc((100vw - var(--container))/2)); border-bottom:1px solid rgba(238,228,212,.1); background:rgba(7,3,3,.78); backdrop-filter:blur(16px); }
.topbar__brand { font-size:.92rem; font-weight:800; letter-spacing:.06em; }
.topbar__links { display:flex; align-items:center; gap:10px; }
.topbar__links a { display:grid; width:38px; height:38px; place-items:center; border:1px solid rgba(238,228,212,.18); border-radius:50%; color:rgba(238,228,212,.78); transition:.2s ease; }
.topbar__links .topbar__cta { display:inline-flex; width:auto; min-width:max-content; padding:0 16px; border-color:rgba(210,184,108,.32); border-radius:999px; color:var(--cream); font-size:.76rem; font-weight:700; }
.topbar__links svg { width:17px; height:17px; fill:currentColor; }
.topbar__links a:hover { color:var(--cream); border-color:rgba(210,184,108,.42); background:rgba(238,228,212,.05); transform:translateY(-2px); }

.hero { position:relative; min-height:calc(100svh - 48px); display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.86fr); align-items:start; gap:clamp(34px,5vw,72px); width:min(100% - var(--desktop-gutter),var(--container)); margin:auto; padding:88px 0 74px; }
.hero::before { content:""; position:absolute; inset:7% -10% 12% 58%; border-left:1px solid rgba(210,184,108,.16); background:linear-gradient(115deg,rgba(210,184,108,.08),rgba(151,0,8,.12) 46%,transparent 72%); transform:skewX(-10deg); pointer-events:none; }
.hero__media { position:relative; overflow:hidden; min-height:500px; border:1px solid rgba(238,228,212,.12); border-radius:26px; box-shadow:0 38px 100px rgba(0,0,0,.55),0 0 0 10px rgba(238,228,212,.025); background:linear-gradient(145deg,var(--wine-deep),var(--black-soft)); transition:transform .18s ease-out; }
.hero__media::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(120deg,rgba(7,3,3,.05) 0%,rgba(7,3,3,0) 45%,rgba(151,0,8,.22) 100%); pointer-events:none; }
.hero__media::after { content:""; position:absolute; z-index:1; inset:auto 0 0; height:38%; background:linear-gradient(180deg,transparent,rgba(0,0,0,.58)); pointer-events:none; }
.hero__media img { height:100%; min-height:500px; aspect-ratio:4/5; object-fit:cover; object-position:center; transform:scale(1.025); }
.hero__content { position:relative; z-index:2; max-width:620px; padding-top:0; }
.eyebrow { margin: 0 0 12px; color:var(--muted); font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow--light { color:rgba(238,228,212,.68); }
.hero h1 { max-width:680px; margin-bottom:18px; font-size:clamp(2.65rem,4.8vw,4.85rem); font-weight:800; line-height:.96; }
.hero__content>p:not(.eyebrow) { max-width:560px; color:var(--muted); font-size:1rem; line-height:1.7; }
.hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hero__actions .button { margin-top:0; }
.hero__mobile-copy,
.hero__actions--mobile { display:none; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-width:198px; margin-top:20px; padding:13px 16px; border-radius:999px; font-size:.84rem; font-weight:700; transition:.25s ease; }
.button:hover { transform:translateY(-2px); }
.button__icon { display:grid; flex:0 0 auto; width:24px; height:24px; place-items:center; border:1px solid currentColor; border-radius:50%; opacity:.82; transition:transform .2s ease,opacity .2s ease; }
.button__icon svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.button:hover .button__icon { opacity:1; transform:translate(2px,2px); }
.button--light { border:1px solid rgba(210,184,108,.28); background:rgba(238,228,212,.035); color:var(--cream); }
.button--cream { color:var(--wine-dark); background:var(--cream); }

.section { width:min(100% - var(--desktop-gutter),var(--container)); margin:auto; padding:82px 0; }
.zigzag { display:grid; gap:112px; }
.zigzag__row { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.7fr); gap:clamp(32px,5vw,72px); align-items:center; }
.zigzag__row--reverse { grid-template-columns:minmax(340px,.82fr) minmax(0,1fr); }
.zigzag__copy { max-width:560px; }
.zigzag__copy h2,.benefits-panel h2 { margin-bottom:16px; font-size:clamp(1.9rem,3vw,3rem); font-weight:800; line-height:1.1; }
.zigzag__copy>p:not(.eyebrow) { max-width:520px; color:var(--muted); font-size:.94rem; line-height:1.58; }

.video-card { position:relative; overflow:hidden; width:min(100%,360px); justify-self:center; aspect-ratio:9/13; border:1px solid var(--line); border-radius:32px; background:var(--black-soft); box-shadow:0 30px 80px rgba(0,0,0,.42); transition:transform .25s ease,border-color .25s ease; }
.video-card:hover { transform:translateY(-3px); border-color:rgba(210,184,108,.28); }
.video-card video { height:100%; object-fit:cover; }
.video-card__play { position:absolute; top:50%; left:50%; width:72px; height:72px; transform:translate(-50%,-50%); border:1px solid rgba(238,228,212,.38); border-radius:50%; background:rgba(7,3,3,.58); backdrop-filter:blur(10px); cursor:pointer; transition:.25s; }
.video-card__play span { position:absolute; top:50%; left:54%; transform:translate(-50%,-50%); width:0; height:0; border-top:9px solid transparent; border-bottom:9px solid transparent; border-left:14px solid var(--cream); }
.video-card.is-playing .video-card__play { opacity:0; pointer-events:none; }

.service-list { display:grid; gap:0; margin-top:26px; border-top:1px solid var(--line); }
.service-list article { display:grid; grid-template-columns:46px 1fr; gap:14px; padding:17px 0; border-bottom:1px solid var(--line); transition:.2s ease; }
.service-list article:hover { padding-left:8px; border-bottom-color:rgba(210,184,108,.32); }
.service-list span { color:var(--gold); font-size:.7rem; font-weight:700; }
.service-list h3 { margin:0 0 4px; font-size:.98rem; }
.service-list p { margin:0; color:var(--muted); font-size:.84rem; line-height:1.45; }
@media (min-width: 761px) {
  .zigzag.section {
    padding-top:28px;
    padding-bottom:36px;
  }

  .zigzag {
    gap:34px;
  }

  .zigzag__row {
    grid-template-columns:minmax(430px,.92fr) minmax(0,1fr);
    grid-template-areas:"video copy";
    gap:clamp(76px,7vw,112px);
    align-items:center;
  }

  .zigzag__copy {
    grid-area:copy;
    order:2;
    justify-self:start;
  }

  .video-card {
    grid-area:video;
    order:1;
    width:min(100%,390px);
    justify-self:end;
  }
}

.benefits-panel { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(32px,5vw,70px); align-items:center; padding:34px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.benefits-panel__copy { max-width:480px; }
.benefits-panel__copy>p:not(.eyebrow) { max-width:430px; color:var(--muted); font-size:.94rem; line-height:1.58; }
.benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:0; }
.benefit-card { min-height:160px; padding:18px; border:1px solid rgba(210,184,108,.22); border-radius:18px; color:var(--wine-deep); background:var(--cream); transition:transform .2s ease,box-shadow .2s ease; }
.benefit-card:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(0,0,0,.2); }
.benefit-card b { display:grid; width:38px; height:38px; margin-bottom:22px; place-items:center; border-radius:50%; color:var(--cream); background:var(--wine); }
.benefit-card svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.benefit-card svg path { vector-effect:non-scaling-stroke; }
.benefit-card strong { display:block; margin-bottom:6px; font-size:.92rem; }
.benefit-card p { margin:0; color:rgba(28,4,5,.72); font-size:.78rem; line-height:1.38; }

.cases-section { padding-top:98px; padding-bottom:104px; }
.cases-heading { display:grid; grid-template-columns:1fr 340px; gap:48px; align-items:end; margin-bottom:38px; }
.cases-heading h2 { margin:0; font-size:clamp(2rem,3.15vw,3rem); font-weight:800; line-height:1.05; }
.cases-heading>p { margin:0; color:var(--muted); font-size:.94rem; line-height:1.55; }
.cases-carousel { position:relative; padding:10px 0 20px; }
.cases-carousel::after { display:none; }
.cases-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:0; scrollbar-width:none; }
.cases-track::-webkit-scrollbar { display:none; }
.carousel-button { position:absolute; z-index:3; top:45%; display:none; width:44px; height:44px; place-items:center; border:1px solid rgba(210,184,108,.34); border-radius:50%; color:var(--cream); background:rgba(7,3,3,.62); cursor:pointer; transition:.2s ease; }
.carousel-button:hover { transform:translateY(-2px); color:var(--wine-deep); background:var(--cream); }
.carousel-button--prev { left:10px; }
.carousel-button--next { right:10px; }
.carousel-button span { width:10px; height:10px; border-top:2px solid currentColor; border-right:2px solid currentColor; }
.carousel-button--prev span { transform:rotate(-135deg); margin-left:4px; }
.carousel-button--next span { transform:rotate(45deg); margin-right:4px; }
.case-card { overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--black-soft); opacity:.5; transform:scale(.96); cursor:pointer; transition:opacity .25s ease,transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.case-card.is-active { opacity:1; transform:scale(1); border-color:rgba(238,228,212,.24); box-shadow:0 24px 60px rgba(0,0,0,.34); }
.case-card:hover { border-color:rgba(210,184,108,.28); }
.case-card { scroll-snap-align:start; }
.case-card__media { display:grid; aspect-ratio:4/5; place-items:center; padding:22px; text-align:center; font-size:1.25rem; font-weight:800; line-height:1.1; }
.case-card__media--one { background:radial-gradient(circle at 30% 25%,rgba(210,184,108,.16),transparent 34%),linear-gradient(140deg,var(--wine-deep),var(--wine) 58%,#240405); }
.case-card__media--two { background:radial-gradient(circle at 70% 30%,rgba(210,184,108,.12),transparent 30%),linear-gradient(145deg,var(--black-soft),#6f0509); }
.case-card__media--three { background:radial-gradient(circle at 40% 40%,rgba(210,184,108,.1),transparent 25%),linear-gradient(145deg,#070303,var(--wine-dark)); }
.case-card__media--video { overflow:hidden; aspect-ratio:9/14; padding:0; background:var(--black-soft); }
.case-card__media--video video { width:100%; height:100%; object-fit:cover; }
.case-card__body { padding:17px 18px 20px; }
.case-card__body small { color:var(--muted); font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.case-card__body h3 { margin:6px 0 5px; font-size:.98rem; }
.case-card__body p { margin:0; color:var(--muted); font-size:.78rem; }
.cases-hint { display:none; }
.cases-hint span { display:inline-block; width:8px; height:8px; margin-left:6px; border-top:1.7px solid currentColor; border-right:1.7px solid currentColor; transform:rotate(45deg); }
.carousel-dots { display:flex; justify-content:center; gap:8px; margin-top:8px; }
.carousel-dots button { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:rgba(238,228,212,.24); cursor:pointer; transition:.2s ease; }
.carousel-dots button.is-active { width:24px; border-radius:999px; background:var(--cream); }

.footer { padding:82px max(36px,calc((100vw - var(--container))/2)) 26px; background:radial-gradient(circle at 86% 8%,rgba(210,184,108,.08),transparent 25%),linear-gradient(155deg,var(--wine),#770007 68%,var(--wine-dark)); }
.footer__top { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:50px; align-items:end; }
.footer__top .eyebrow { grid-column:1/-1; margin-bottom:-35px; }
.footer h2 { max-width:680px; margin:0; font-size:clamp(2rem,3.25vw,3.3rem); font-weight:800; line-height:1.06; }
.footer__bottom { display:grid; grid-template-columns:1fr auto auto; gap:30px; align-items:center; margin-top:68px; padding-top:22px; border-top:1px solid rgba(238,228,212,.22); }
.footer__bottom strong { font-weight:800; letter-spacing:.04em; }
.footer__bottom nav { display:flex; gap:20px; font-size:.86rem; }
.footer__bottom small { color:rgba(238,228,212,.62); }

.reveal { opacity:0; transform:translateY(26px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 1040px) {
  .hero { grid-template-columns:1fr; width:min(100% - 72px,var(--container)); min-height:auto; padding:52px 0 68px; }
  .hero::before { inset:12% -18% 14% 46%; }
  .hero__content { max-width:720px; padding-top:0; }
  .hero__media { min-height:440px; }
  .hero__media img { min-height:440px; aspect-ratio:16/10; }
}

@media (max-width: 760px) {
  .topbar { width:min(100% - 28px,var(--container)); padding:14px 0 12px; gap:12px; }
  .topbar.is-scrolled { width:100%; padding:10px 16px; }
  .topbar__brand { flex-shrink:0; font-size:.72rem; }
  .topbar__links { min-width:0; justify-content:flex-end; gap:5px; }
  .topbar__links a { width:30px; height:30px; }
  .topbar__links .topbar__cta { height:30px; padding:0 8px; font-size:.6rem; }
  .topbar__links svg { width:13px; height:13px; }

  .hero { width:min(100% - 32px,var(--container)); display:flex; flex-direction:column; gap:18px; padding:32px 0 54px; }
  .hero::before { inset:18% -30% 28% 38%; }
  .hero__content { order:1; width:100%; padding:0; text-align:left; }
  .hero .eyebrow { display:none; }
  .hero h1 { max-width:100%; margin-bottom:10px; font-size:0; line-height:1.02; overflow-wrap:normal; }
  .hero h1::before { content:"Conteúdo para marcas memoráveis."; font-size:clamp(1.72rem,8vw,2.18rem); }
  .hero__content>p:not(.eyebrow) { display:none; }
  .hero__mobile-copy { display:block!important; max-width:300px!important; margin:0; color:var(--muted); font-size:.84rem!important; line-height:1.45!important; }
  .hero__actions--desktop { display:none; }
  .hero__actions--mobile { order:3; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:10px; margin-top:4px; }
  .hero__actions .button { width:100%; min-width:0; gap:10px; padding-inline:12px; }
  .hero__media { order:2; width:100%; min-height:0; border-radius:22px; box-shadow:0 24px 70px rgba(0,0,0,.42); }
  .hero__media img { min-height:0; aspect-ratio:4/4.6; object-fit:cover; }
  .button { min-width:0; margin-top:18px; padding:12px 15px; font-size:.8rem; }

  .section { width:min(100% - 36px,var(--container)); padding:52px 0 62px; }
  .zigzag { gap:74px; }
  .zigzag__row,.zigzag__row--reverse { grid-template-columns:1fr; gap:30px; }
  .zigzag__copy h2,.benefits-panel h2 { font-size:clamp(1.72rem,7.2vw,2.25rem); }
  .zigzag__copy>p:not(.eyebrow) { font-size:.88rem; line-height:1.5; }
  .video-card { order:2; width:100%; aspect-ratio:9/13; border-radius:22px; }
  .benefits-panel { display:block; padding:32px 0 0; border-bottom:0; }
  .benefits-panel__copy>p:not(.eyebrow) { font-size:.88rem; line-height:1.5; }
  .benefits { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .benefit-card { min-height:130px; padding:12px 8px; text-align:center; }
  .benefit-card b { width:34px; height:34px; margin:0 auto 14px; }
  .benefit-card strong { font-size:.78rem; }
  .benefit-card p { display:none; }

  .cases-section { width:100%; padding:70px 0 82px; }
  .cases-heading { display:block; width:min(100% - 36px,var(--container)); margin:0 auto 28px; text-align:center; }
  .cases-heading h2 { font-size:clamp(1.8rem,7.5vw,2.35rem); }
  .cases-heading>p { margin-top:12px; font-size:.88rem; }
  .cases-carousel { width:100%; overflow:visible; padding:0; }
  .cases-carousel::after { display:none; }
  .cases-track { display:grid; grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:78%; gap:14px; overflow-x:auto; padding:8px 18px 18px; transform:none!important; }
  .carousel-button { display:none; }
  .case-card { scroll-snap-align:center; transform:scale(.96); }
  .case-card.is-active { transform:scale(1); }
  .case-card__media { aspect-ratio:9/12; font-size:1.25rem; }
  .case-card__media--video { aspect-ratio:9/14; }
  .cases-hint { display:block; width:min(100% - 36px,var(--container)); margin:4px auto 0; color:var(--muted); font-size:.78rem; text-align:right; }
  .carousel-dots { margin-top:4px; }

  .footer { padding:64px 20px 24px; }
  .footer__top { display:block; }
  .footer__top .eyebrow { margin-bottom:14px; }
  .footer h2 { font-size:clamp(1.85rem,8vw,2.55rem); }
  .footer__bottom { grid-template-columns:1fr; gap:16px; margin-top:52px; }
  .footer__bottom nav { flex-wrap:wrap; }
}

@media (max-width: 600px) {
  .topbar,
  .hero__content,
  .hero__actions,
  .hero__media {
    max-width:358px;
  }

  .topbar {
    width:min(100% - 28px,358px);
  }
}

@media (max-width: 420px) {
  .topbar__links .topbar__cta { display:none; }
  .hero__content { width:100%; }
  .section { width:min(100% - 32px,var(--container)); }
  .service-list article { grid-template-columns:40px 1fr; gap:12px; }
  .benefits { gap:7px; }
  .benefit-card { padding:14px 7px; }
  .cases-track { grid-auto-columns:82%; padding-inline:16px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .reveal { opacity:1; transform:none; }
  .scroll-progress { display:none; }
}
