/* ===========================================================
   RDG FILMES — Cinematic One-Page
   =========================================================== */

:root{
  --bg: #050505;
  --bg-soft: #0b0b0b;
  --bg-card: #0f0f0f;
  --white: #f5f3ee;
  --white-dim: rgba(245,243,238,0.62);
  --gold: #c8a75a;
  --gold-dim: rgba(200,167,90,0.35);
  --petrol: #14464f;
  --line: rgba(245,243,238,0.12);

  --font-display: 'Bebas Neue', sans-serif;
  --font-serif: 'Suez One', serif;
  --font-body: 'Manrope', sans-serif;

  --ease: cubic-bezier(.16,.84,.44,1);
  --container: 1360px;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ background:var(--bg); }
html.lenis{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto; }

body{
  background:var(--bg);
  color:var(--white);
  font-family:var(--font-body);
  font-weight:400;
  overflow-x:hidden;
  cursor:none;
}
@media (max-width: 900px), (hover:none){
  body{ cursor:auto; }
}

img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; background:none; border:none; color:inherit; cursor:pointer; }
ul,li{ list-style:none; }

::selection{ background:var(--gold); color:#050505; }

/* ---------- Film grain ---------- */
.grain{
  position:fixed; inset:0; z-index:9000; pointer-events:none;
  opacity:.045; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Preloader ---------- */
.preloader{
  position:fixed; inset:0; z-index:10000; background:#050505;
  display:flex; align-items:center; justify-content:center;
  transition:opacity .8s var(--ease), visibility .8s var(--ease);
}
.preloader.is-hidden{ opacity:0; visibility:hidden; pointer-events:none; }
.preloader-frame{ text-align:center; }
.preloader-mark{
  font-family:var(--font-display); letter-spacing:.3em; font-size:2rem; color:var(--gold);
  display:block; margin-bottom:1.4rem;
}
.preloader-bar{ width:220px; height:1px; background:var(--line); position:relative; margin:0 auto; }
.preloader-bar-fill{ position:absolute; left:0; top:0; height:100%; width:0%; background:var(--gold); transition:width .2s linear; }
.preloader-pct{ display:block; margin-top:.9rem; font-size:.7rem; letter-spacing:.2em; color:var(--white-dim); }

/* ---------- Custom cursor ---------- */
.cursor{ position:fixed; top:0; left:0; z-index:9500; pointer-events:none; mix-blend-mode:difference; }
@media (max-width: 900px), (hover:none){ .cursor{ display:none; } }
.cursor-dot{
  position:absolute; width:6px; height:6px; border-radius:50%; background:var(--white);
  transform:translate(-50%,-50%);
}
.cursor-ring{
  position:absolute; width:34px; height:34px; border-radius:50%; border:1px solid var(--white);
  transform:translate(-50%,-50%); transition:width .25s var(--ease), height .25s var(--ease), opacity .25s var(--ease);
}
.cursor.is-active .cursor-ring{ width:64px; height:64px; background:rgba(245,243,238,.08); }
.cursor-label{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; opacity:0; white-space:nowrap;
  transition:opacity .2s var(--ease);
}
.cursor.is-active .cursor-label{ opacity:1; }

/* ---------- Section heads (shared) ---------- */
.section-eyebrow{
  display:inline-block; font-size:.72rem; letter-spacing:.25em; text-transform:uppercase;
  color:var(--gold); font-weight:600; margin-bottom:1.1rem;
}
.section-eyebrow.light{ color:var(--gold); }
.section-eyebrow.center{ display:block; text-align:center; }
.section-title{
  font-family:var(--font-display); font-weight:400; letter-spacing:.01em;
  font-size:clamp(2.6rem, 6vw, 4.6rem); line-height:1; text-transform:uppercase;
}
.section-sub{
  margin-top:1.2rem; max-width:640px; color:var(--white-dim); font-size:1.02rem; line-height:1.7; font-weight:300;
}
.section-head{ padding:0 6vw; margin-bottom:4rem; }

/* ---------- Reveal helpers (GSAP targets) ---------- */
.reveal-up{ opacity:0; transform:translateY(40px); }
.reveal-fade{ opacity:0; }

/* =================== NAV =================== */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.6rem 6vw; transition:padding .4s var(--ease), background .4s var(--ease), backdrop-filter .4s var(--ease);
}
.nav.is-scrolled{
  padding:1rem 6vw; background:rgba(5,5,5,.6); backdrop-filter:blur(16px); border-bottom:1px solid var(--line);
}
.nav-logo img{ height:60px; width:auto; filter:brightness(0) invert(1); transition:height .4s var(--ease); }
.nav.is-scrolled .nav-logo img{ height:47px; }
.nav-links{ display:flex; align-items:center; gap:2.6rem; }
.nav-links a{
  font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:var(--white-dim);
  position:relative; transition:color .3s var(--ease);
}
.nav-links a::after{
  content:''; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:var(--gold);
  transition:width .35s var(--ease);
}
.nav-links a:hover{ color:var(--white); }
.nav-links a:hover::after{ width:100%; }
.nav-cta{
  border:1px solid var(--gold-dim); padding:.55rem 1.3rem; border-radius:999px; color:var(--gold) !important;
}
.nav-cta::after{ display:none; }
.nav-cta:hover{ background:var(--gold); color:#050505 !important; }
.nav-rec{
  display:flex; align-items:center; gap:.5rem; font-size:.7rem; letter-spacing:.15em; color:var(--white-dim);
  font-variant-numeric:tabular-nums;
}
.rec-dot{ width:6px; height:6px; border-radius:50%; background:#e6473f; animation:recPulse 1.4s infinite; }
.rec-dot.small{ width:5px; height:5px; }
@keyframes recPulse{ 0%,100%{ opacity:1; } 50%{ opacity:.25; } }
.nav-toggle{ display:none; flex-direction:column; gap:5px; }
.nav-toggle span{ width:22px; height:1px; background:var(--white); }

@media (max-width: 900px){
  .nav-rec{ display:none; }
  .nav-toggle{ display:flex; }
  .nav-links{
    position:fixed; inset:0; top:0; flex-direction:column; justify-content:center; gap:2.2rem;
    background:#050505; transform:translateY(-100%); transition:transform .5s var(--ease);
  }
  .nav-links.is-open{ transform:translateY(0); }
  .nav-links a{ font-size:1.3rem; }
}

/* =================== HERO =================== */
.hero{
  position:relative; height:100svh; width:100%; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.hero-bg{ position:absolute; inset:0; }
.hero-bg img{
  width:100%; height:100%; object-fit:cover; object-position:center 30%;
  transform:scale(1.15);
}
.hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(5,5,5,.55) 0%, rgba(5,5,5,.35) 40%, rgba(5,5,5,.85) 100%);
}
.hero-vignette{
  position:absolute; inset:0; box-shadow:inset 0 0 18vw 4vw rgba(0,0,0,.75); pointer-events:none;
}
.hero-frame-ui{
  position:absolute; inset:0; padding:7.5rem 2.4rem 3rem; pointer-events:none; z-index:3;
  display:none;
}
.hero-frame-ui span{
  position:absolute; font-size:.66rem; letter-spacing:.12em; color:rgba(245,243,238,.55);
  font-variant-numeric:tabular-nums;
}
.hero-frame-tl{ top:7.5rem; left:2.4rem; }
.hero-frame-tr{ top:7.5rem; right:2.4rem; display:flex; align-items:center; gap:.4rem; }
.hero-frame-bl{ bottom:3rem; left:2.4rem; }
.hero-frame-br{ bottom:3rem; right:2.4rem; }

.hero-content{ position:relative; z-index:4; text-align:center; padding:0 5vw; }
.hero-logo{
  height:clamp(110px, 16vw, 220px); width:auto; margin:0 auto 2.4rem; filter:brightness(0) invert(1);
  opacity:0; transform:translateY(24px);
}
.hero-tagline{
  font-family:var(--font-serif); font-weight:400;
  font-size:clamp(1.7rem, 4.6vw, 3.4rem); line-height:1.18; letter-spacing:.005em;
  max-width:18ch; margin:0 auto;
}
.hero-btn{ margin-top:3rem; }

.btn-ghost{
  display:inline-flex; align-items:center; gap:.7rem; padding:.95rem 2.1rem; border-radius:999px;
  border:1px solid rgba(245,243,238,.3); font-size:.82rem; letter-spacing:.1em; text-transform:uppercase;
  backdrop-filter:blur(6px); background:rgba(245,243,238,.04); transition:all .4s var(--ease);
}
.btn-ghost:hover{ background:var(--white); color:#050505; border-color:var(--white); }
.btn-ghost i{ font-size:.75rem; transition:transform .35s var(--ease); }
.btn-ghost:hover i{ transform:translateY(3px); }

.hero-scroll-hint{
  position:absolute; bottom:2.4rem; left:50%; transform:translateX(-50%); z-index:4;
  display:flex; flex-direction:column; align-items:center; gap:.7rem;
}
.hero-scroll-hint span{ font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--white-dim); }
.scroll-line{ width:1px; height:46px; background:rgba(245,243,238,.18); overflow:hidden; }
.scroll-line-fill{ width:100%; height:40%; background:var(--gold); animation:scrollLine 2.2s infinite var(--ease); }
@keyframes scrollLine{ 0%{ transform:translateY(-100%); } 100%{ transform:translateY(250%); } }

@media (min-width: 901px){ .hero-frame-ui{ display:block; } }

/* =================== MANIFESTO =================== */
.manifesto{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:8rem 6vw; background:var(--bg);
  position:relative;
}
.manifesto-inner{ text-align:center; max-width:1100px; }
.manifesto-eyebrow{
  display:block; font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--white-dim);
  margin-bottom:2.4rem; font-weight:500;
}
.manifesto-rotator{
  font-family:var(--font-display); font-weight:400; text-transform:uppercase;
  font-size:clamp(2.2rem, 7vw, 5.4rem); line-height:1.05; letter-spacing:.01em;
}
.m-static{ display:block; color:var(--white-dim); }
.m-rotate{ display:block; position:relative; height:1.25em; margin-top:.15em; }
.m-word{
  position:absolute; inset:0; opacity:0; transform:translateY(30px);
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
.m-word.is-active{ opacity:1; transform:translateY(0); }
.m-word.m-final{ color:var(--gold); }

/* =================== PORTFOLIO =================== */
.portfolio{ padding:9rem 0 8rem; }
.portfolio-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1.4rem; padding:0 6vw;
}
.poster-card{
  position:relative; aspect-ratio:3/4; border-radius:6px; overflow:hidden; cursor:pointer;
  background:#000;
}
.poster-wide{ grid-column:span 1; }
.poster-media{ position:absolute; inset:0; }
.poster-media img{
  width:100%; height:100%; object-fit:cover; transform:scale(1.08);
  transition:transform 1s var(--ease), filter .6s var(--ease);
  filter:grayscale(35%) brightness(.78);
}
.poster-card:hover .poster-media img{ transform:scale(1.18); filter:grayscale(0%) brightness(.95); }
.poster-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(5,5,5,0) 30%, rgba(5,5,5,.92) 100%);
}
.poster-info{ position:absolute; left:0; right:0; bottom:0; padding:1.8rem; }
.poster-cat{
  display:block; font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold);
  margin-bottom:.5rem;
}
.poster-name{
  font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:1.5rem; letter-spacing:.01em;
}
.poster-watch{
  display:flex; align-items:center; gap:.5rem; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--white-dim); margin-top:.9rem; opacity:0; transform:translateY(8px);
  transition:opacity .4s var(--ease), transform .4s var(--ease);
}
.poster-card:hover .poster-watch{ opacity:1; transform:translateY(0); }
.poster-watch i{ font-size:.6rem; color:var(--gold); }

@media (max-width: 1100px){ .portfolio-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 640px){ .portfolio-grid{ grid-template-columns:1fr; padding:0 6vw; } .poster-card{ aspect-ratio:4/5; } }

/* =================== REEL =================== */
.reel{ position:relative; height:90vh; overflow:hidden; }
.reel-bg{ position:absolute; inset:0; }
.reel-bg img{ width:100%; height:100%; object-fit:cover; transform:scale(1.1); filter:brightness(.55) saturate(.85); }
.reel-overlay{
  position:absolute; inset:0; background:radial-gradient(ellipse at center, rgba(5,5,5,.2) 0%, rgba(5,5,5,.88) 80%);
}
.reel-content{
  position:relative; z-index:2; height:100%; display:flex; flex-direction:column; align-items:center;
  justify-content:center; text-align:center; gap:1.4rem; padding:0 6vw;
}
.reel-title{
  font-family:var(--font-display); font-weight:400; text-transform:uppercase;
  font-size:clamp(2.4rem, 6vw, 4.2rem);
}
.reel-play{
  width:92px; height:92px; border-radius:50%; border:1px solid rgba(245,243,238,.4);
  display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:var(--white);
  backdrop-filter:blur(6px); background:rgba(245,243,238,.05); margin-top:.6rem;
  transition:all .4s var(--ease); position:relative;
}
.reel-play::after{
  content:''; position:absolute; inset:-14px; border-radius:50%; border:1px solid var(--gold-dim);
  animation:reelPulse 2.6s infinite var(--ease);
}
@keyframes reelPulse{ 0%{ transform:scale(.9); opacity:.8; } 100%{ transform:scale(1.35); opacity:0; } }
.reel-play:hover{ background:var(--gold); color:#050505; border-color:var(--gold); }
.reel-caption{ color:var(--white-dim); font-size:.95rem; max-width:34ch; font-weight:300; }

/* =================== NUMBERS =================== */
.numbers{ padding:7rem 6vw; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.numbers-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; max-width:var(--container); margin:0 auto;
}
.number-item{ text-align:center; }
.number-value{
  display:block; font-family:var(--font-display); font-weight:400; color:var(--gold);
  font-size:clamp(2.4rem,5vw,4rem); line-height:1;
}
.number-label{
  display:block; margin-top:.8rem; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--white-dim);
}
@media (max-width: 700px){ .numbers-grid{ grid-template-columns:repeat(2,1fr); gap:2.6rem; } }

/* =================== SERVICES =================== */
.services{ padding:9rem 0; }
.services-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line);
  max-width:var(--container); margin:0 auto;
}
.service-card{
  background:var(--bg); padding:3.2rem 2.4rem; transition:background .4s var(--ease);
}
.service-card:hover{ background:var(--bg-soft); }
.service-card i{ font-size:1.5rem; color:var(--gold); margin-bottom:1.6rem; display:block; }
.service-card h3{
  font-family:var(--font-display); font-weight:400; text-transform:uppercase; letter-spacing:.01em;
  font-size:1.3rem; margin-bottom:.8rem;
}
.service-card p{ color:var(--white-dim); font-size:.92rem; line-height:1.65; font-weight:300; max-width:32ch; }
@media (max-width: 900px){ .services-grid{ grid-template-columns:1fr; } }

/* =================== CLIENTS =================== */
.clients{ padding:7rem 0; overflow:hidden; }
.clients .section-eyebrow{ display:block; text-align:center; margin-bottom:3rem; }
.clients-track{ width:100%; overflow:hidden; mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.clients-row{ display:flex; align-items:center; gap:5.5rem; width:max-content; animation:clientsScroll 28s linear infinite; }
.clients-row img{
  height:42px; width:auto; max-width:160px; object-fit:contain;
  filter:brightness(0) invert(1); opacity:.45; transition:opacity .35s var(--ease);
}
.clients-row img:hover{ opacity:.9; }
@keyframes clientsScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* =================== ABOUT / QUEM SOMOS =================== */
.about{
  display:grid; grid-template-columns:1.05fr 1fr; gap:4vw; align-items:center;
  padding:9rem 6vw; min-height:auto;
}
.about-gallery{
  display:grid; grid-template-columns:repeat(2, 1fr); grid-auto-rows:140px; gap:.9rem;
}
.about-gallery-item{
  position:relative; overflow:hidden; border-radius:6px; grid-row:span 2;
}
.about-gallery-item img{
  width:100%; height:100%; object-fit:cover; filter:grayscale(100%) contrast(1.08) brightness(.92);
  transform:scale(1.1); transition:transform .9s var(--ease), filter .5s var(--ease);
}
.about-gallery-item:hover img{ transform:scale(1.02); filter:grayscale(40%) contrast(1.05) brightness(1); }
.about-gallery-tall{ grid-row:span 3; }
.about-gallery-wide{ grid-column:span 2; grid-row:span 2; }

.about-content{ display:flex; flex-direction:column; justify-content:center; }
.about-title{ margin-top:.4rem; margin-bottom:2.2rem; }
.about-text-block{
  display:flex; flex-direction:column; gap:1.3rem; margin-bottom:2.4rem;
  max-width:54ch;
}
.about-text-block p{
  color:var(--white-dim); font-size:.98rem; line-height:1.8; font-weight:300;
}
.about-text-block .about-closing{
  color:var(--gold); font-family:var(--font-serif); font-size:1.15rem; line-height:1.6; font-weight:400;
  margin-top:.4rem;
}
.btn-line{
  display:inline-flex; align-items:center; gap:.6rem; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold); border-bottom:1px solid var(--gold-dim); padding-bottom:.4rem; width:fit-content;
  transition:border-color .3s var(--ease), gap .3s var(--ease);
}
.btn-line:hover{ border-color:var(--gold); gap:.9rem; }

@media (max-width: 1100px){
  .about{ grid-template-columns:1fr; gap:3.5rem; padding:7rem 6vw; }
  .about-gallery{ grid-auto-rows:120px; }
}
@media (max-width: 600px){
  .about-gallery{ grid-template-columns:repeat(2,1fr); grid-auto-rows:90px; gap:.6rem; }
  .about-gallery-tall{ grid-row:span 2; }
  .about-gallery-wide{ grid-row:span 1; }
}

/* =================== CONTACT =================== */
.contact{ padding:9rem 6vw 6rem; }
.contact-inner{ max-width:var(--container); margin:0 auto; }
.contact-head{ margin-bottom:4.5rem; text-align:center; }
.contact-head .section-title{ margin-top:.4rem; }
.contact-body{ display:grid; grid-template-columns:1.5fr 1fr; gap:5rem; }

.contact-form{ display:flex; flex-direction:column; gap:1.8rem; }
.field{ position:relative; }
.field input, .field textarea{
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--line);
  color:var(--white); font-family:var(--font-body); font-size:1rem; padding:.8rem 0; resize:none;
  transition:border-color .3s var(--ease);
}
.field input:focus, .field textarea:focus{ outline:none; border-color:var(--gold); }
.field label{
  position:absolute; left:0; top:.8rem; color:var(--white-dim); font-size:1rem; pointer-events:none;
  transition:all .25s var(--ease);
}
.field input:focus + label, .field input:not(:placeholder-shown) + label,
.field textarea:focus + label, .field textarea:not(:placeholder-shown) + label{
  top:-.8rem; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold);
}

.btn-solid{
  margin-top:1rem; display:inline-flex; align-items:center; justify-content:center; gap:.8rem;
  background:var(--white); color:#050505; padding:1.1rem 2.4rem; border-radius:999px;
  font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; font-weight:600; width:fit-content;
  transition:background .35s var(--ease), transform .35s var(--ease);
}
.btn-solid:hover{ background:var(--gold); transform:translateY(-2px); }

.contact-side{ display:flex; flex-direction:column; gap:1rem; justify-content:flex-start; padding-top:.5rem; }
.social-link{
  display:flex; align-items:center; gap:1rem; padding:1.3rem 1.6rem; border:1px solid var(--line); border-radius:10px;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.social-link:hover{ border-color:var(--gold-dim); background:rgba(200,167,90,.04); }
.social-link i{ font-size:1.2rem; color:var(--gold); width:22px; }
.social-link span{ font-size:.92rem; letter-spacing:.03em; }

@media (max-width: 900px){ .contact-body{ grid-template-columns:1fr; gap:3rem; } }

/* =================== FOOTER =================== */
.footer{
  padding:5rem 6vw 3rem; text-align:center; border-top:1px solid var(--line);
  display:flex; flex-direction:column; align-items:center; gap:1.1rem;
}
.footer-logo{ height:62px; filter:brightness(0) invert(1); opacity:.9; }
.footer-tag{ font-size:.85rem; letter-spacing:.05em; color:var(--white-dim); }
.footer-copy{ font-size:.72rem; color:rgba(245,243,238,.35); margin-top:1rem; }

/* =================== VIDEO MODAL =================== */
.video-modal{
  position:fixed; inset:0; z-index:9800; display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .45s var(--ease), visibility .45s var(--ease);
  padding:4vw;
}
.video-modal.is-open{ opacity:1; visibility:visible; }
.video-modal-backdrop{
  position:absolute; inset:0; background:rgba(5,5,5,.94); backdrop-filter:blur(10px);
}
.video-modal-box{
  position:relative; width:100%; max-width:1100px; aspect-ratio:16/9; z-index:2;
  transform:scale(.94); transition:transform .45s var(--ease);
  box-shadow:0 30px 90px rgba(0,0,0,.6); border-radius:4px; overflow:hidden;
}
.video-modal.is-open .video-modal-box{ transform:scale(1); }
.video-modal-frame{ width:100%; height:100%; background:#000; }
.video-modal-frame iframe{ width:100%; height:100%; border:0; display:block; }
.video-modal-close{
  position:absolute; top:-3.2rem; right:0; width:42px; height:42px; border-radius:50%;
  border:1px solid rgba(245,243,238,.3); display:flex; align-items:center; justify-content:center;
  color:var(--white); font-size:1.1rem; transition:all .3s var(--ease); z-index:3;
}
.video-modal-close:hover{ background:var(--gold); border-color:var(--gold); color:#050505; }
@media (max-width: 700px){ .video-modal-close{ top:auto; bottom:calc(100% + 1rem); right:0; } }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* Focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--gold); outline-offset:3px;
}
