/* ==========================================================================
   Clone de comportamento/estrutura (referência: makhnostudio.com/studio).
   1rem = 10px até 1919px; acima disso escala com a largura (igual ao original).
   ========================================================================== */
:root {
  --paper: #ece4e1;
  --ink: #353535;
  --ink-30: rgba(53, 53, 53, .3);
  --line: rgba(53, 53, 53, .2);
  --warm: #988d83;
  --overlay: rgba(46, 39, 33, .6);
  --ease: cubic-bezier(.15, .85, .45, 1);
  --ease-icon: cubic-bezier(.77, 0, .18, 1);
  --ease-soft: cubic-bezier(.4, 0, 0, 1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
  background: var(--paper) url(../img/paper.png) repeat;
  color: var(--ink);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 10px;
  overscroll-behavior: none;
  scrollbar-width: none;
  -webkit-font-smoothing: antialiased;
}
html::-webkit-scrollbar { display: none; }
@media (min-width: 1920px) { html { font-size: .5208333333vw; } }
body { font-size: 1.3rem; line-height: 1.6; overflow-x: hidden; min-height: 100%; }
a { color: inherit; text-decoration: none; outline: none; }
button { background: none; border: 0; color: inherit; font: inherit; cursor: pointer; text-transform: inherit; letter-spacing: inherit; }
img, video, svg { display: block; max-width: 100%; }
ul { list-style: none; }
h1 { font-weight: 300; }
h1, h2, h3 { font-weight: inherit; font-size: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.overflow-hidden, .split-mask { overflow: hidden; }
.split-line { display: block; }

/* Página entra com fade (o original esconde menu/conteúdo até o load) */
.topbar, .navpanel, #swup { opacity: 0; transition: opacity .3s var(--ease-soft); }
.is-loaded .topbar, .is-loaded .navpanel, .is-loaded #swup { opacity: 1; }
.transition-fade { transition: opacity .3s var(--ease-soft); }
html.is-animating .transition-fade { opacity: 0; }

/* Cursor nativo escondido só em dispositivos com mouse */
@media (hover: hover) and (pointer: fine) { .has-cursor, .has-cursor * { cursor: none !important; } }

/* --------------------------------------------------------------------------
   Tipografia utilitária
   -------------------------------------------------------------------------- */
.t-label { font-size: 1.3rem; font-weight: 400; letter-spacing: -.05rem; line-height: 180%; text-transform: uppercase; }
.t-body { font-size: 1.4rem; letter-spacing: -.05rem; line-height: 160%; }
.t-title { font-size: 2.4rem; font-weight: 400; letter-spacing: -.03em; line-height: 120%; text-transform: uppercase; }
.t-hero { font-size: 3rem; font-weight: 300; letter-spacing: -.03em; line-height: 105%; text-transform: uppercase; }
@media (min-width: 768px) { .t-hero { font-size: 4rem; } }
@media (min-width: 1280px) { .t-hero { font-size: 5rem; } .t-title { font-size: 3rem; } }
@media (min-width: 1920px) { .t-hero { font-size: 4rem; } }
.wordmark { display: inline-flex; align-items: center; gap: .25em; }
.wordmark b { font-weight: 600; letter-spacing: -.04em; }

/* Link com sublinhado que sai pela direita e volta pela esquerda */
.u-link { position: relative; display: inline-block; overflow: hidden; vertical-align: bottom; cursor: pointer; }
.u-link::before, .u-link::after { content: ""; position: absolute; left: 0; bottom: .15em; width: 100%; height: .1rem; background: currentColor; will-change: transform; }
.u-link::before { transform: translateX(-101%); }
.u-link::after { transform: translateX(0); }
.u-link:hover::before, .u-link:focus-visible::before, .group:hover .u-link::before { transform: translateX(0); transition: transform .45s var(--ease) .2s; }
.u-link:hover::after, .u-link:focus-visible::after, .group:hover .u-link::after { transform: translateX(101%); transition: transform .45s var(--ease); }

/* Botão com linha inferior + seta (keyframes iguais aos do original) */
@keyframes button-underline {
  0%, .1% { transform: scaleX(1); transform-origin: 100% 100%; }
  49.9% { transform: scaleX(0); transform-origin: 100% 100%; }
  50%, 50.1% { transform: scaleX(0); transform-origin: 0 0; }
  100% { transform: scaleX(1); transform-origin: 0 0; }
}
@keyframes button-icon-movement {
  0%, .1% { transform: none; } 49.9% { transform: translateX(110%); }
  50%, 50.1% { transform: translateX(-110%); } 100% { transform: none; }
}
@keyframes button-icon-movement-reverse {
  0%, .1% { transform: none; } 49.9% { transform: translateX(-110%); }
  50%, 50.1% { transform: translateX(110%); } 100% { transform: none; }
}
@keyframes title-underline {
  0%, .1% { background-position: 100% center; background-size: 100% 100%; }
  49.9% { background-position: 100% center; background-size: 0 100%; }
  50%, 50.1% { background-position: 0 center; background-size: 0 100%; }
  100% { background-position: 0 center; background-size: 100% 100%; }
}
@keyframes title-underline-reverse { 0% { background-position: 0 center; background-size: 0 100%; } 100% { background-position: 0 center; background-size: 100% 100%; } }
@keyframes crawling-line { 0% { transform: translate3d(50%, 0, 0); } 100% { transform: translate3d(-50%, 0, 0); } }
@keyframes arrow-drop { 0%, .1% { transform: none; } 49.9% { transform: translateY(110%); } 50%, 50.1% { transform: translateY(-110%); } 100% { transform: none; } }

.btn-line { position: relative; display: inline-flex; align-items: center; justify-content: space-between; gap: 3rem; min-width: 20rem; padding-bottom: 1rem; font-size: 1.3rem; letter-spacing: -.05rem; line-height: 180%; text-transform: uppercase; }
.btn-line::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: .1rem; background: currentColor; transform-origin: 0 0; }
.btn-line:hover::after, .group:hover .btn-line::after { animation: button-underline .75s var(--ease) forwards; }
.btn-line .icon-holder { overflow: hidden; flex-shrink: 0; }
.btn-line .icon-holder svg { width: 3.1rem; height: .8rem; position: relative; }
.btn-line:hover .icon-holder svg, .group:hover .btn-line .icon-holder svg { animation: button-icon-movement .75s var(--ease-icon) forwards; }
.btn-line[data-movement=backward]:hover .icon-holder svg { animation-name: button-icon-movement-reverse; }

/* Título com sublinhado por background (prêmios) */
.bg-underline { background-image: linear-gradient(transparent calc(100% - 1px), currentColor 1px); background-repeat: no-repeat; background-size: 100% 100%; padding-bottom: .1rem; }
a:hover .bg-underline, .bg-underline:hover { animation: title-underline 1s var(--ease) forwards; }

/* Linhas duplas (escura + reflexo branco), assinatura visual do original */
.rule-b { border-bottom: .1rem solid var(--line); position: relative; }
.rule-b::after { content: ""; position: absolute; left: 0; bottom: -.2rem; width: 100%; height: .1rem; background: #fff; opacity: .6; pointer-events: none; }
.rule-t { border-top: .1rem solid var(--line); position: relative; }
.rule-t::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: .1rem; background: #fff; opacity: .6; pointer-events: none; }

/* --------------------------------------------------------------------------
   Barra superior
   -------------------------------------------------------------------------- */
.topbar { position: fixed; z-index: 20; top: 0; left: 0; width: 100%; height: 6rem; padding: 0 2rem; display: flex; align-items: center; justify-content: space-between; pointer-events: none; transition: opacity .3s var(--ease-soft), height .3s var(--ease), color .3s var(--ease), transform .3s var(--ease); }
[data-page-top=false] .topbar { height: 4rem; }
.topbar__bg { position: absolute; inset: 0; z-index: -1; background: var(--paper) url(../img/paper.png); opacity: 0; transition: opacity .1s var(--ease); }
[data-page-top=false] .topbar__bg { opacity: 1; transition-duration: .3s; }
.topbar__logo, .topbar__controls, .topbar__title { pointer-events: all; }
.topbar__logo { width: 2.5rem; height: 2.5rem; transition: opacity .25s; }
.topbar__logo:hover { opacity: .6; }
.topbar__logo svg { width: 100%; height: 100%; }
.topbar__title { display: none; position: fixed; top: 0; left: 50vw; height: 6rem; align-items: center; gap: .5rem; transform: translate(-50%, -100%); transition: height .45s var(--ease), transform .45s var(--ease); font-size: 1.3rem; letter-spacing: -.05rem; text-transform: uppercase; }
[data-page-top=false] .topbar__title { height: 4rem; }
.is-loaded .topbar__title { transform: translate(-50%); }
.nav-open .topbar__title, .video-playing .topbar__title { transform: translate(-50%, -100%); }
.topbar__title a { position: relative; }
.topbar__title a::before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: .1rem; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform 1s var(--ease); }
.topbar__title a:hover::before { transform: scaleX(1); transform-origin: left; }
@media (min-width: 1024px) { .topbar__title { display: flex; } }
.topbar__controls { display: flex; align-items: center; gap: 2rem; flex-shrink: 0; }
.topbar__sound { width: 3rem; height: 3rem; }
.topbar__sound canvas { width: 100%; height: 100%; }
.lang { display: none; align-items: center; font-size: 1.3rem; text-transform: uppercase; }
.lang > * + *::before { content: "|"; margin: 0 1em; }
.lang > * { display: flex; opacity: .4; transition: opacity .3s var(--ease); }
.lang > .is-active { opacity: 1; pointer-events: none; }
.lang > :hover { opacity: .8; }
@media (min-width: 768px) { .lang { display: flex; } }
.burger { position: relative; width: 2.3rem; height: 3rem; font-size: 0; flex-shrink: 0; }
.burger::before, .burger::after { content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: .1rem; background: currentColor; transition: transform 1s var(--ease); }
.burger::before { transform: translateY(-.4rem); }
.burger::after { transform: translateY(.4rem); }
.nav-open .burger::before { transform: rotate(45deg); }
.nav-open .burger::after { transform: rotate(-45deg); }
.nav-open .topbar { color: var(--paper); }
.nav-open .topbar__bg { opacity: 0; }

/* --------------------------------------------------------------------------
   Navegação em tela cheia
   -------------------------------------------------------------------------- */
.navpanel { position: fixed; inset: 0; z-index: 19; padding: 7rem 2rem 3rem; color: var(--paper); background: var(--overlay); backdrop-filter: blur(.5rem); -webkit-backdrop-filter: blur(.5rem); visibility: hidden; opacity: 0; overflow: auto; transition: opacity .75s var(--ease), visibility .75s var(--ease); }
.is-loaded .navpanel { opacity: 0; }
.nav-open .navpanel { visibility: visible; opacity: 1; }
.navpanel__scroller { display: flex; flex-direction: column; height: 100%; }
.navpanel__list { flex-grow: 1; }
.navitem__head { overflow: hidden; position: relative; }
.navitem__head::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: .1rem; background: currentColor; opacity: .3; transform: scaleX(0); transform-origin: left; transition: transform 1s var(--ease); }
.navitem.is-active .navitem__head::after { opacity: 1; }
.nav-open .navitem__head::after { transform: scaleX(1); }
.navitem__title { display: flex; align-items: center; width: 100%; padding: 1.6rem 0; transform: translateY(100%); transition: transform 1s var(--ease); text-align: left; }
.nav-open .navitem__title { transform: none; }
.nav-open .navitem:nth-child(1) .navitem__title { transition-delay: .1s; }
.nav-open .navitem:nth-child(2) .navitem__title { transition-delay: .3s; }
.nav-open .navitem:nth-child(3) .navitem__title { transition-delay: .5s; }
.navitem__num { width: 12rem; margin-top: auto; font-size: 1rem; }
.navitem__text { flex-grow: 1; font-size: 2.4rem; letter-spacing: -.03em; text-transform: uppercase; }
.navitem__icon { position: relative; width: 1.6rem; height: 1.6rem; }
.navitem__icon::before, .navitem__icon::after { content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: .1rem; background: currentColor; transition: transform .45s var(--ease); }
.navitem__icon::after { transform: rotate(90deg); }
.navitem.is-active .navitem__icon::after { transform: rotate(0); }
.navitem__sub { overflow: hidden; height: 0; transition: height .7s var(--ease); }
.navitem__sublist { padding: 2rem 0 2rem 12rem; transition: color .1s; }
.navitem__sublist:hover { color: rgba(235, 227, 224, .5); }
.navsub { position: relative; overflow: hidden; transition: color .3s var(--ease); }
.navsub:hover { color: #e7e0dd; }
.navsub::before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: .1rem; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .7s var(--ease); }
.navsub:hover::before { transform: scaleX(1); }
.navsub::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: .1rem; background: currentColor; opacity: .2; }
.navsub a { display: flex; align-items: center; padding: 1rem 5rem 1rem 0; font-size: 1rem; text-transform: uppercase; transform: translateY(100%); transition: transform 1s var(--ease); }
.nav-open .navsub a { transform: none; }
.navsub__num { width: 3.5rem; }
.navsub__text { transition: margin-left .35s var(--ease) 50ms; }
.navsub:hover .navsub__text { margin-left: 1rem; }
.navpanel__info { opacity: 0; transition: opacity .6s var(--ease); font-size: 1rem; text-transform: uppercase; line-height: 1.6; }
.nav-open .navpanel__info { opacity: 1; transition-delay: .5s; }
.navpanel__info p + p, .navpanel__info div + div { margin-top: 3rem; }
.navpanel__info a { border-bottom: .1rem solid rgba(236, 228, 225, .5); }
.navpanel__cta { margin-top: 3.7rem; color: var(--paper); }
@media (min-width: 768px) {
  .navpanel { display: grid; }
  .navpanel__scroller { display: grid; grid-template-columns: 45% 45%; justify-content: space-between; }
  .navpanel__info { display: flex; flex-direction: column; align-items: flex-start; }
  .navpanel__cta { margin-top: auto; }
}
@media (min-width: 1024px) {
  .navpanel__scroller { grid-template-columns: 48rem 38rem; height: auto; max-height: 100%; padding-top: 6vh; }
}
@media (max-width: 767px) {
  .navitem__num { display: none; }
  .navitem__sublist { padding-left: 0; }
  .navsub a { font-size: 1.3rem; }
}

/* --------------------------------------------------------------------------
   Cursor
   -------------------------------------------------------------------------- */
.cursor { position: fixed; z-index: 30; top: 0; left: 0; pointer-events: none; color: var(--paper); visibility: hidden; opacity: 0; transition: opacity .4s ease, visibility .4s ease; }
.cursor--active { visibility: visible; opacity: 1; }
.cursor__bullet { position: absolute; top: 0; left: 0; width: 1rem; height: 1rem; margin: -.5rem 0 0 -.5rem; border-radius: 50%; background: var(--bg, rgba(0, 0, 0, .4)); }
.cursor-box { position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transform: scale(0); }
.cursor-box__inner { position: relative; transform: translate(-50%, -50%); }
.cursor-box svg { width: 100%; height: 100%; }
.cursor__redirect { width: 1.6rem; height: 1.6rem; }
.cursor__play, .cursor__pause { width: 1.4rem; height: 1.4rem; }
.cursor__play { margin-left: .2rem; }
.cursor__previous, .cursor__next { width: 3rem; height: 3rem; }
.cursor__drag { font-size: 1.3rem; text-transform: uppercase; white-space: nowrap; }
@media (hover: none), (pointer: coarse) { .cursor { display: none; } }

/* Voltar ao topo */
.to-top { position: fixed; z-index: 15; right: 2rem; bottom: 5.5rem; width: 5rem; height: 5rem; border-radius: 50%; background: var(--paper); display: flex; align-items: center; justify-content: center; transform: translateY(100%) translateY(6rem); transition: transform .7s ease-out; }
.show-to-top .to-top { transform: none; }
.to-top svg { width: 2rem; height: 2rem; }
.nav-open .to-top { transform: translateY(100%) translateY(6rem); }

/* Canvas WebGL compartilhado (onda nas imagens e tecido do rodapé) */
.gl-canvas { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: -1; pointer-events: none; }
.has-gl .site-footer__cloth img { opacity: 0; }

/* --------------------------------------------------------------------------
   Estúdio (home)
   -------------------------------------------------------------------------- */
.page-header { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 90vh; text-align: center; }
.page-header__wrap { max-width: 90rem; width: 100%; margin: 0 auto; padding: 0 2rem; }
.back-link { position: absolute; z-index: 1; top: 9rem; left: 0; margin-left: 2rem; display: inline-flex; align-items: center; font-size: 1.3rem; letter-spacing: -.05rem; line-height: 180%; text-transform: uppercase; }
.back-link svg { width: 2.1rem; height: 1.4rem; margin-right: 1.5rem; transition: .25s; }
.back-link--forward svg { order: 2; margin: 0 0 0 1.5rem; }
@media (min-width: 1024px) { .back-link { top: 11rem; } }
.page-header__title .wordmark { line-height: 1.05; }
.page-header__desc { max-width: 44rem; margin: 1.5rem auto 0; font-size: 1.3rem; font-weight: 500; letter-spacing: -.05rem; line-height: 180%; text-transform: uppercase; }
.scroll-hint { position: absolute; left: 0; right: 0; bottom: 3rem; display: flex; align-items: center; justify-content: center; transition: opacity .4s var(--ease-soft); }
[data-page-top=false] .scroll-hint { opacity: 0; pointer-events: none; }
.scroll-hint__btn { font-size: 1.3rem; font-weight: 500; letter-spacing: -.05rem; line-height: 180%; text-align: center; }
.arrow-down { display: block; width: .8rem; height: 3.1rem; margin: 0 auto 2rem; overflow: hidden; }
.arrow-down svg { width: 100%; height: 100%; }
.scroll-hint__btn:hover .arrow-down svg { animation: arrow-drop .9s var(--ease-icon); }

.media-section { position: relative; padding-bottom: 8rem; }
@media (min-width: 1024px) { .media-section { padding-bottom: 12rem; } }
@media (min-width: 1440px) { .media-section { padding-bottom: 18rem; } }
.studio-media { position: relative; display: grid; height: 44.4rem; margin: 0 2rem; overflow: hidden; transform-origin: top center; }
.studio-media::before { content: ""; position: absolute; inset: 0; z-index: 2; background: #000; opacity: .2; pointer-events: none; transition: opacity .7s var(--ease-soft); }
.studio-media figure { position: relative; width: 100%; height: 100%; }
.studio-media__preview, .studio-media__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .7s var(--ease-soft), transform 1s var(--ease), visibility .7s; }
.studio-media__video { opacity: 0; visibility: hidden; transform: scale(1.1); }
.studio-media.is-active .studio-media__preview { opacity: 0; visibility: hidden; transform: scale(1.1); }
.studio-media.is-active .studio-media__video { opacity: 1; visibility: visible; transform: scale(1); }
.studio-media.is-active::before { opacity: 0; }
.circle-icon { position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 6rem; height: 6rem; border-radius: 50%; background: var(--paper); display: flex; align-items: center; justify-content: center; pointer-events: none; transition: opacity .7s var(--ease-soft); }
.circle-icon svg { width: .8rem; height: 3.2rem; }
.studio-media.is-active .circle-icon { opacity: 0; }
@media (min-width: 768px) { .studio-media { height: 100vh; margin: 0; } }
@media (min-width: 1280px) { .circle-icon { display: none; } }

/* Introdução */
.intro { padding-bottom: 10rem; }
.intro__wrap { display: block; }
.intro__header { display: flex; flex-direction: column; flex-shrink: 0; width: 100%; padding: 0 2rem; }
.intro__title { margin-bottom: 4.5rem; width: 100%; }
.intro__desc { position: relative; flex-grow: 1; display: flex; flex-direction: column; align-items: flex-start; margin-top: auto; padding-left: 1rem; border-left: 1px solid var(--line); }
.intro__desc::after { content: ""; position: absolute; left: 0; top: 0; width: 1px; height: 100%; background: #fff; opacity: .6; }
.intro__item { width: 85%; }
.intro__item:first-child { margin-bottom: auto; }
.intro__item + .intro__item { margin-top: 4.7rem; }
.intro__item-title { font-size: 1.3rem; letter-spacing: -.05rem; line-height: 1; opacity: .5; }
.intro__item-text { margin-top: 2rem; font-size: 1.4rem; letter-spacing: -.05rem; line-height: 160%; }
.intro__desc .btn-line { margin-top: 4.7rem; }
.gallery { position: relative; flex-grow: 1; width: calc(100% - 4rem); margin: 4.5rem auto 0; overflow: hidden; }
.gallery__wrap { position: relative; height: 100%; overflow: hidden; }
.gallery__container { position: relative; width: 100%; height: 100%; }
.gallery__container::before, .gallery__container::after { content: ""; position: absolute; z-index: 2; left: 0; width: 100%; pointer-events: none; }
.gallery__container::before { top: 0; height: 100%; background: #000; opacity: .13; }
.gallery__container::after { bottom: 0; height: 13rem; background: linear-gradient(0deg, #000, transparent); opacity: .2; }
.gallery .swiper-slide { overflow: hidden; }
.gallery__media { position: relative; aspect-ratio: 1060 / 600; overflow: hidden; }
.gallery__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gallery__nav { display: none; }
.gallery__nav button { position: absolute; z-index: 2; top: 0; width: 50%; height: 100%; font-size: 0; }
.gallery__nav button:first-child { left: 0; }
.gallery__nav button:last-child { right: 0; }
.gallery__footer { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 2rem 0; z-index: 3; }
.gallery__counter { font-size: 1.6rem; font-weight: 500; letter-spacing: -.05rem; }
.gallery__pagination { display: flex; align-items: center; gap: 1rem; }
.dot { width: 1rem; height: 1rem; border: 1px solid; border-radius: 50%; font-size: 0; flex-shrink: 0; transition: color .5s var(--ease), background .5s var(--ease); }
.dot.is-active { background: currentColor; }
@media (min-width: 768px) {
  .intro__wrap { display: flex; align-items: flex-start; justify-content: space-between; }
  .intro__header { width: 38rem; }
  .gallery { margin: 0; width: auto; }
  .gallery__nav { display: block; }
  .gallery__footer { position: absolute; left: 0; bottom: 0; padding: 2rem 3rem; color: var(--paper); }
  .gallery__counter { font-size: 2rem; }
  .gallery__media { aspect-ratio: auto; height: 68.6rem; }
}
@media (min-width: 1280px) { .intro__wrap { align-items: stretch; } .intro__item { width: 65%; } }
@media (min-width: 1920px) { .intro__header { width: 40rem; } }

/* Prêmios */
.awards { position: relative; }
.awards__wrap { position: relative; margin: 0 2rem; padding: 8rem 0; }
@media (min-width: 768px) { .awards__wrap { padding: 4.1rem 0 15rem; } }
.awards__left { margin-bottom: 3rem; }
.awards__title { position: relative; display: inline-block; vertical-align: top; margin-bottom: 4rem; }
.awards__count { position: absolute; left: 100%; top: -1rem; font-size: 1.3rem; letter-spacing: 0; }
.awards__list { position: relative; overflow: hidden; padding-bottom: .2rem; }
.awards__head { display: flex; padding-bottom: 3.3rem; font-size: 1.4rem; letter-spacing: -.05rem; line-height: 160%; }
.awards__head > * { opacity: .5; }
.awards__head > :first-child { width: 4rem; }
.awards__head > :nth-child(2), .awards__head > :nth-child(3) { width: 26%; max-width: 32.3rem; }
.awards__entries { display: grid; }
.award { position: relative; display: flex; align-items: baseline; padding: 2.8rem 0; text-align: left; font-size: 1.3rem; letter-spacing: -.05rem; line-height: 180%; text-transform: uppercase; }
.award__col { width: 90%; padding-left: 4rem; }
.award__col:first-child { position: absolute; left: 0; width: 4rem; padding: 0; }
.award__col:nth-child(3) { margin-top: 1.5rem; }
.award__arrow { position: absolute; right: 0; top: 2.7rem; width: 3.2rem; height: .8rem; opacity: 0; transform: translateX(-2rem); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.award:hover .award__arrow { opacity: 1; transform: none; }
.award__media { position: absolute; z-index: 1; top: 0; right: calc(100% + 4rem); width: 20rem; height: 26rem; visibility: hidden; pointer-events: none; }
.award:nth-last-child(-n+2) .award__media { top: auto; bottom: 0; }
.award__media img { width: 100%; height: 100%; object-fit: cover; }
.award__project { position: relative; display: inline-block; }
.award__project::before { content: ""; position: absolute; left: 0; bottom: .15em; width: 100%; height: .1rem; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .7s var(--ease-soft) !important; }
.award:hover .award__project::before { transform: scaleX(1); transform-origin: 0 0; }
.awards__more { margin-top: 6rem; }
@media (min-width: 768px) {
  .awards__wrap { display: grid; grid-template-columns: 45% 55%; gap: 4rem; align-items: flex-start; }
  .awards__head > :nth-child(2), .awards__head > :nth-child(3) { width: 40%; }
}
@media (min-width: 1024px) {
  .awards__wrap { grid-template-columns: calc(50% - 2rem) calc(50% - 2rem); }
  .award { align-items: baseline; }
  .award__col:nth-child(2) { width: 40%; padding-right: 4%; }
  .award__col:nth-child(3) { width: 40%; margin-top: 0; padding-left: 0; }
}

/* Painel "mais prêmios" */
.awards-modal { position: fixed; inset: 0; z-index: 25; pointer-events: none; }
.awards-modal::after { content: ""; position: absolute; inset: 0; background: var(--overlay); opacity: 0; transition: opacity .75s var(--ease); }
.awards-modal__panel { position: absolute; z-index: 1; top: 0; right: 0; width: 100%; height: 100%; background: var(--paper) url(../img/paper.png); overflow: auto; transform: translateX(100%); transition: transform 1s var(--ease); }
.awards-modal.is-active { pointer-events: all; }
.awards-modal.is-active::after { opacity: 1; }
.awards-modal.is-active .awards-modal__panel { transform: none; }
.awards-modal__close { position: absolute; z-index: 2; top: 2rem; right: calc(100% + 2rem); width: 6rem; height: 6rem; border-radius: 50%; background: var(--paper); opacity: 0; transform: scale(.5); transition: opacity .5s var(--ease), transform .5s var(--ease), color .5s var(--ease); }
.awards-modal__close::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--ink); transform: scale(0); transition: transform .5s var(--ease); }
.awards-modal__close:hover { color: var(--paper); }
.awards-modal__close:hover::before { transform: scale(1); }
.awards-modal__close span { position: relative; font-size: 2.4rem; line-height: 1; }
.awards-modal.is-active .awards-modal__close { opacity: 1; transform: scale(1); transition-delay: .5s; }
.awards-modal__inner { padding: 4rem; }
.awards-modal__inner .award { padding: 2rem 0; }
@media (min-width: 1024px) { .awards-modal__panel { width: 50%; overflow: visible; } .awards-modal__scroll { height: 100%; overflow: auto; } }
@media (max-width: 1023px) { .awards-modal__close { right: 2rem; } }

/* Imagem cheia com parallax (coverflow) */
.coverflow { position: relative; height: 100vh; overflow: hidden; }
.coverflow__holder { position: relative; height: 100%; }
.coverflow__media { position: absolute; inset: 0; overflow: hidden; }
.coverflow__media img, .coverflow__media video { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; }
@media (min-width: 1280px) { .coverflow .circle-icon { display: none; } }

/* Portfólio (lista fixa + galeria) */
.portfolio { position: relative; }
@media (min-width: 768px) { .portfolio { padding: 10rem 0; } }
.portfolio__wrap { position: relative; margin: 0 2rem; }
.portfolio__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; top: 0; width: 100%; }
.portfolio__header { display: block; width: 100%; margin-bottom: 3rem; }
.portfolio__title { margin-bottom: 2.8rem; }
.portfolio__cats { display: flex; gap: 2.4rem; }
.cat-btn { display: flex; align-items: center; color: var(--ink); opacity: .5; font-size: 1.4rem; letter-spacing: -.05rem; line-height: 160%; transition: color .4s ease, opacity .4s ease; }
.cat-btn::before { content: ""; position: relative; flex-shrink: 0; width: 1.1rem; height: 1.1rem; margin-right: .8rem; border: .1rem solid; border-radius: 50%; background: transparent; transition: background .4s ease; }
.cat-btn.is-active, .cat-btn:hover { opacity: 1; }
.cat-btn.is-active::before, .cat-btn:hover::before { background: var(--ink); }
.portfolio__lists { display: none; }
.portfolio__list, .portfolio__group { position: absolute; top: 0; width: 100%; height: 100%; opacity: 0; pointer-events: none; }
.portfolio__list.is-active, .portfolio__group.is-active { position: relative; opacity: 1; pointer-events: auto; }
.project-link { display: flex; align-items: center; width: 100%; padding: 1.5rem 0 1.5rem 2rem; color: var(--ink-30); font-size: 1.3rem; letter-spacing: -.05rem; line-height: 180%; text-transform: uppercase; transition: color .6s var(--ease); }
.project-link::after { transition: opacity .6s var(--ease); }
.project-link.is-active, .project-link:hover { color: var(--ink); }
.project-link.is-active::after, .project-link:hover::after { opacity: 0; }
.project-link__num { width: 3.5rem; flex-shrink: 0; }
.project-link__name { width: calc(100% - 3.5rem); }
.project-link__dash { position: absolute; z-index: 1; left: 0; bottom: -.1rem; width: 100%; height: .1rem; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
.project-link.is-active .project-link__dash, .project-link:hover .project-link__dash { transform: scaleX(1); }
.arrow-r { flex-shrink: 0; width: 3.2rem; height: .8rem; opacity: 0; transform: translateX(-2rem); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.project-link.is-active .arrow-r, .project-link:hover .arrow-r, .arrow-r--static { opacity: 1; transform: none; }
.portfolio__btn-wrap { display: none; }
.portfolio__gallery { position: relative; }
.portfolio__grid { position: relative; width: 100vw; margin: 0 -2rem -2rem; padding-bottom: 3rem; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.portfolio__grid::-webkit-scrollbar { display: none; }
.portfolio__group { display: grid; grid-auto-flow: column; gap: 2rem; padding: 0 2rem; }
.portfolio__group::after { content: ""; display: block; width: 1px; height: 100%; }
.pf-item { width: calc(100vw - 5rem); overflow: hidden; }
.pf-item__wrap { position: relative; display: block; }
.pf-item__holder { overflow: hidden; }
.pf-item__img { width: 100%; height: auto; transition: transform 1s var(--ease); }
.pf-item:hover .pf-item__img { transform: scale(1.1); }
.pf-item__meta { display: flex; align-items: center; justify-content: space-between; padding: 2rem 0; font-size: 1.3rem; font-weight: 500; letter-spacing: -.05em; text-transform: uppercase; }
.portfolio__overlay { position: absolute; left: -100%; width: 0; opacity: 0; }
.portfolio__counter { font-size: 1.3rem; letter-spacing: -.05em; }
.portfolio__dots { display: flex; align-items: center; justify-content: flex-end; }
.portfolio__dots .dot + .dot { margin-left: 1rem; }
.portfolio__footer-mobile { margin-top: 3rem; }
@media (min-width: 768px) {
  .portfolio__wrap { display: grid; grid-template-columns: 45% 55%; gap: 4rem; align-items: flex-start; }
  .portfolio__content { position: sticky; }
  .portfolio__header { margin-bottom: 5rem; }
  .portfolio__cats { margin-bottom: 2.8rem; }
  .portfolio__lists { position: relative; left: -2rem; display: flex; flex-grow: 1; width: 100%; max-width: 46rem; margin: 0 0 2.8rem; padding-bottom: 5rem; overflow: hidden; }
  .project-link { width: 44vw; }
  .portfolio__group { grid-auto-flow: row; padding: 0; }
  .portfolio__group::after { display: none; }
  .portfolio__grid { width: auto; margin: 0; padding-bottom: 0; overflow: visible; }
  .pf-item { width: 100%; }
  .pf-item__wrap { display: grid; height: 100%; }
  .pf-item__holder, .pf-item__holder > div { height: 100%; }
  .pf-item__img { height: 100%; object-fit: cover; }
  .pf-item__meta { display: none; }
  .portfolio__counter { font-size: 1.6rem; }
  .portfolio__dots { flex-direction: column; }
  .portfolio__dots .dot + .dot { margin: 1rem 0 0; }
  .portfolio__btn-wrap { display: block; }
  .portfolio__footer-mobile { display: none; }
}
@media (min-width: 1024px) {
  .portfolio__wrap { grid-template-columns: calc(50% - 2rem) calc(50% - 2rem); }
  .project-link { width: 46rem; }
  .portfolio__overlay { position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; opacity: 1; color: var(--paper); pointer-events: none; }
  .portfolio__overlay-holder { position: sticky; top: 0; display: flex; align-items: flex-end; justify-content: space-between; width: 100%; height: 100vh; padding: 2rem 3rem; }
}
@media (min-width: 1280px) {
  .portfolio__content { height: calc(100vh - 2rem); padding-top: 10rem; }
  .pf-item { height: calc(100vh - 4rem); }
}
@media (min-width: 1920px) { .portfolio__lists { align-items: center; } }

/* --------------------------------------------------------------------------
   Rodapé com revelação
   -------------------------------------------------------------------------- */
.site-footer { position: relative; z-index: 2; display: flex; flex-direction: column; width: 100%; height: 100vh; overflow: hidden; text-transform: uppercase; }
.site-footer__bg { position: absolute; z-index: 2; inset: 0; background: #000; opacity: .5; pointer-events: none; }
.site-footer__wrap { position: relative; display: flex; flex-direction: column; width: 100%; height: 100%; }
.site-footer__related { position: relative; flex-grow: 1; padding: 0 2rem; }
.site-footer__cloth { position: absolute; left: 50%; top: 50%; width: 19rem; height: 27.5rem; transform: translate(-50%, -50%); }
.site-footer__cloth img { width: 100%; height: 100%; object-fit: cover; }
.site-footer__title { position: absolute; z-index: 6; left: 50%; top: 50%; width: 100%; transform: translate(-50%, -50%); display: flex; flex-wrap: wrap; align-items: center; justify-content: center; text-align: center; font-size: 3.4rem; font-weight: 300; letter-spacing: -.03em; line-height: 1.5; }
@media (min-width: 768px) { .site-footer__title { font-size: 4rem; } }
@media (min-width: 1280px) { .site-footer__title { font-size: 5rem; } }
@media (min-width: 1920px) { .site-footer__title { font-size: 4rem; } }
.site-footer__bottom { padding-top: 2rem; font-weight: 500; font-size: 1.3rem; letter-spacing: -.05rem; line-height: 180%; }
.site-footer__bottom-wrap { position: relative; margin: 0 2rem; }
.site-footer__cols { display: grid; gap: 4rem; }
.site-footer__col-title { margin-bottom: 2rem; }
.site-footer__col a { border-bottom: .1rem solid currentColor; }
.site-footer__list { display: flex; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding: 1rem 0; }
.site-footer__list a { border-bottom: .1rem solid currentColor; }
.site-footer__privacy { opacity: .5; }
.site-footer__privacy-m { display: none; }
@media (min-width: 768px) {
  .site-footer__box { display: flex; flex-wrap: wrap; justify-content: space-between; }
  .site-footer__cols { grid-template-columns: repeat(3, 25rem); gap: 2rem; margin-bottom: 4rem; }
}
@media (min-width: 1280px) { .site-footer__cols { margin-bottom: 0; } }
@media (max-width: 767px) {
  .site-footer { height: auto; }
  .site-footer__related { height: 51rem; flex-grow: 0; }
  .site-footer__bottom-wrap { margin: 0; }
  .site-footer__box { padding: 0 2rem 5rem; border-bottom: 1px solid var(--line); }
  .site-footer__privacy-m { display: inline-block; margin-top: 4.5rem; opacity: .5; }
  .site-footer__cta { margin-top: 7rem; }
  .site-footer__list { margin-top: 0; padding: 3rem 2rem; flex-direction: column; }
  .site-footer__list .site-footer__privacy { display: none; }
}

/* --------------------------------------------------------------------------
   Projetos (lista)
   -------------------------------------------------------------------------- */
.projects-head { position: relative; padding: 17rem 2rem 0; }
.projects-head .back-link { top: 9rem; }
.projects-head__title { margin-bottom: 2.4rem; }
.projects-head__text { max-width: 54rem; font-size: 1.4rem; letter-spacing: -.05rem; line-height: 160%; opacity: .7; }
.projects-filter { display: flex; align-items: center; justify-content: space-between; margin-top: 5rem; padding-bottom: 2.4rem; }
.projects-filter__cats { display: flex; flex-wrap: wrap; gap: 2.4rem; }
.projects-filter__count { font-size: 1.4rem; letter-spacing: -.05rem; }
.projects-grid { display: grid; grid-template-columns: 1fr; gap: 4rem 2rem; padding: 4rem 2rem 10rem; }
@media (min-width: 768px) { .projects-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .projects-grid { grid-template-columns: repeat(3, 1fr); } }
.card { display: block; }
.card__holder { position: relative; aspect-ratio: 400 / 280; overflow: hidden; }
.card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.card:hover .card__img { transform: scale(1.1); }
.card__holder::after { content: ""; position: absolute; inset: 0; background: var(--paper); transform-origin: top; transform: scaleY(var(--cover, 1)); }
.card__meta { display: flex; justify-content: space-between; gap: 2rem; margin-top: 1.6rem; font-size: 1.3rem; letter-spacing: -.05rem; line-height: 160%; text-transform: uppercase; }
.card__cat { display: inline-flex; align-items: center; gap: .6rem; opacity: .6; font-size: 1rem; }
.card__cat::before { content: ""; width: .8rem; height: .8rem; border: .1rem solid; border-radius: 50%; }
.card__type { margin-top: .4rem; opacity: .5; font-size: 1rem; }
.card.is-hidden { display: none; }

/* --------------------------------------------------------------------------
   Projeto (página)
   -------------------------------------------------------------------------- */
.p-hero { position: relative; height: 100vh; color: var(--paper); overflow: hidden; text-align: center; }
.p-hero__media { position: absolute; inset: 0; }
.p-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.p-hero__media::after { content: ""; position: absolute; inset: 0; background: #000; opacity: .15; }
.p-hero__content { position: relative; z-index: 2; padding-top: 22vh; }
.p-hero__sub { margin-top: 1.5rem; font-size: 1.3rem; font-weight: 500; letter-spacing: -.05rem; text-transform: uppercase; }
.p-hero .back-link, .p-hero .scroll-hint { z-index: 3; color: var(--paper); }
.p-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; padding: 3rem 0; font-size: 1.3rem; letter-spacing: -.05rem; text-transform: uppercase; }
.p-stats dt { opacity: .5; font-size: 1rem; }
.p-intro { display: grid; gap: 4rem; padding: 12rem 2rem; }
.p-intro__media { position: relative; overflow: hidden; aspect-ratio: 680 / 794; }
.p-intro__media img { width: 100%; height: 115%; object-fit: cover; }
.p-intro__para { display: grid; grid-template-columns: 5rem 1fr; padding: 3rem 0; font-size: 1.4rem; letter-spacing: -.05rem; line-height: 160%; }
.p-intro__para span { font-size: 1.3rem; }
@media (min-width: 1024px) {
  .p-intro { grid-template-columns: calc(50% - 2rem) calc(50% - 2rem); align-items: start; }
  .p-intro__media { position: sticky; top: 8rem; margin-left: 20%; }
  .p-stats { grid-template-columns: repeat(4, 1fr); }
  .p-intro__text { padding-right: 20%; }
}
.p-media { padding: 0 2rem 10rem; }
.p-media__inner { position: relative; overflow: hidden; margin: 0 auto; }
.p-media__inner img { width: 100%; height: 115%; object-fit: cover; }
.p-media--wide .p-media__inner { width: 100%; aspect-ratio: 16 / 9; }
.p-media--center .p-media__inner { width: 100%; max-width: 110rem; aspect-ratio: 1100 / 720; }
.p-media--pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; max-width: 110rem; margin: 0 auto; }
.p-media--pair .p-media__inner { aspect-ratio: 545 / 560; width: 100%; }
.p-cm { display: grid; gap: 4rem; padding: 0 2rem 12rem; }
.p-cm__text h3 { margin-bottom: 2rem; font-size: 1.3rem; font-weight: 500; letter-spacing: -.05rem; text-transform: uppercase; }
.p-cm__text p { font-size: 1.4rem; letter-spacing: -.05rem; line-height: 160%; max-width: 36rem; }
.p-cm__text .btn-line { margin-top: 3rem; }
.p-cm__media { position: relative; overflow: hidden; aspect-ratio: 545 / 640; }
.p-cm__media img { width: 100%; height: 115%; object-fit: cover; }
@media (min-width: 1024px) {
  .p-cm { grid-template-columns: 1fr 1fr; align-items: start; max-width: 110rem; margin: 0 auto; padding-left: 0; padding-right: 0; }
  .p-cm--right .p-cm__text { order: 2; padding-left: 4rem; position: sticky; top: 10rem; }
  .p-cm--left .p-cm__text { padding-right: 4rem; position: sticky; top: 10rem; }
}
.p-quote { font-size: 1.3rem; letter-spacing: -.05rem; line-height: 180%; text-transform: uppercase; }
.p-slider { padding: 0 0 10rem; }
.p-slider .swiper-slide { width: 72rem; max-width: 80vw; }
.p-slider__media { position: relative; overflow: hidden; aspect-ratio: 720 / 480; }
.p-slider__media img { width: 100%; height: 100%; object-fit: cover; }
.highlight { padding: 0 2rem 2rem; }
.highlight__card { position: relative; height: 50rem; overflow: hidden; color: var(--paper); }
.highlight__card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .1)); transition: opacity 1s var(--ease); }
.highlight__card:hover::after { opacity: .6; }
.highlight__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transform: scale(1.05); transition: filter 1s var(--ease), transform 1.4s var(--ease); }
.highlight__card:hover .highlight__bg { filter: grayscale(0); transform: scale(1); }
.highlight__link { position: absolute; z-index: 2; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 3rem; }
.highlight__label { font-size: 1rem; letter-spacing: -.05rem; text-transform: uppercase; }
.highlight__link .t-title { margin-top: auto; max-width: 40rem; }
.highlight__link .btn-line { margin-top: 2rem; align-self: flex-start; }
.highlight__card:hover .btn-line::after { animation: button-underline .75s var(--ease) forwards; }
.highlight__card:hover .btn-line svg { animation: button-icon-movement .75s var(--ease-icon) forwards; }
.p-list { padding: 4rem 2rem 10rem; }
@media (min-width: 1024px) { .p-list { display: grid; grid-template-columns: calc(50% - 2rem) calc(50% - 2rem); gap: 4rem; } }

/* --------------------------------------------------------------------------
   Contato
   -------------------------------------------------------------------------- */
.contact { min-height: 100vh; padding: 17rem 2rem 0; display: grid; gap: 6rem; }
.contact .back-link { top: 9rem; }
.contact__title { font-size: 5rem; }
.contact__rotator { position: relative; display: block; height: 1.05em; overflow: hidden; }
.contact__word { position: absolute; left: 0; top: 0; white-space: nowrap; }
.contact__btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 6rem; margin-top: 4rem; padding: 2.5rem 2.6rem; background: var(--ink); color: var(--paper); font-size: 1.3rem; letter-spacing: -.05rem; text-transform: uppercase; }
.contact__btn:hover svg { animation: button-icon-movement .75s var(--ease-icon) forwards; }
.contact__btn .icon-holder { overflow: hidden; }
.contact__btn svg { width: 3.1rem; height: .8rem; }
.contact__info { font-size: 1.2rem; letter-spacing: -.05rem; line-height: 160%; text-transform: uppercase; }
.contact__info h2 { font-size: 1.3rem; font-weight: 500; margin-bottom: 3rem; }
.contact__group + .contact__group { margin-top: 3rem; }
.contact__group p:first-child { opacity: .5; margin-bottom: 1rem; }
.contact__group a { border-bottom: .1rem solid currentColor; }
.contact__slides { position: relative; width: 18rem; height: 22rem; overflow: hidden; }
.contact__slides img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.acc { margin-top: 5rem; }
.acc__item button { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 1.4rem 0; font-size: 1.2rem; text-transform: uppercase; }
.acc__body { height: 0; overflow: hidden; transition: height .7s var(--ease); }
.acc__body p { padding-bottom: 1.6rem; opacity: .7; }
.contact__footer { display: flex; justify-content: space-between; gap: 2rem; padding: 3rem 0; font-size: 1.2rem; text-transform: uppercase; grid-column: 1 / -1; align-self: end; }
.contact__footer a { border-bottom: .1rem solid currentColor; }
@media (min-width: 1024px) {
  .contact { grid-template-columns: 1fr 34rem 20rem; gap: 4rem; padding-top: 11rem; height: 100vh; grid-template-rows: 1fr auto; }
  .contact__slides { width: 20rem; height: 24rem; }
  .contact__left { padding-top: 6rem; }
}
/* Modal de formulário */
.form-modal { position: fixed; inset: 0; z-index: 25; pointer-events: none; }
.form-modal::after { content: ""; position: absolute; inset: 0; background: var(--overlay); opacity: 0; transition: opacity .75s var(--ease); }
.form-modal__panel { position: absolute; z-index: 1; right: 0; top: 0; width: 100%; max-width: 72rem; height: 100%; padding: 4rem; overflow: auto; background: var(--paper) url(../img/paper.png); transform: translateX(100%); transition: transform 1s var(--ease); }
.form-modal.is-active { pointer-events: all; }
.form-modal.is-active::after { opacity: 1; }
.form-modal.is-active .form-modal__panel { transform: none; }
.form-modal__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4rem; }
.form-modal__close { font-size: 1.3rem; text-transform: uppercase; }
.field { position: relative; display: block; margin-bottom: 2.4rem; }
.field span { display: block; margin-bottom: .6rem; font-size: 1.2rem; text-transform: uppercase; opacity: .5; }
.field input, .field textarea { width: 100%; padding: 1rem 0; border: 0; border-bottom: .1rem solid var(--line); background: transparent; color: inherit; font: inherit; font-size: 1.4rem; outline: none; transition: border-color .4s var(--ease); }
.field input:focus, .field textarea:focus { border-color: var(--ink); }
.field textarea { min-height: 10rem; resize: vertical; }
.form-modal .contact__btn { border: 0; cursor: pointer; }
.form-modal__ok { margin-top: 2rem; font-size: 1.3rem; text-transform: uppercase; opacity: 0; transition: opacity .5s; }
.form-modal__ok.is-visible { opacity: 1; }

/* Ajustes de celular conferidos com o original */
@media (max-width: 767px) {
  .site-footer__bg { display: none; }
  .award { flex-direction: column; }
  .award__col:nth-child(2) { padding-right: 4rem; }
  .award__arrow { opacity: 1; transform: none; }
}
