/* Gracie Barra Serra Azul — premium interaction layer
   Non-destructive: no source copy, data, links or media are replaced. */

:root {
  --gb-premium-red: #d20a2e;
  --gb-premium-red-deep: #8f061f;
  --gb-premium-black: #050505;
  --gb-premium-ink: #0b0b0c;
  --gb-premium-white: #f7f5f2;
  --gb-premium-line: rgba(255,255,255,.14);
  --gb-premium-ease: cubic-bezier(.22,1,.36,1);
  --gb-premium-shadow: 0 30px 90px rgba(0,0,0,.24);
}

html {
  scroll-behavior: auto;
  background: var(--gb-premium-black);
}

html.premium-loading,
html.premium-loading body {
  overflow: hidden !important;
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection {
  background: var(--gb-premium-red);
  color: #fff;
}

/* Premium preloader */
.gb-preloader {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 42%, rgba(210,10,46,.17), transparent 31rem),
    linear-gradient(145deg, #070707 0%, #020202 72%);
  color: #fff;
  transition: opacity .75s var(--gb-premium-ease), visibility .75s var(--gb-premium-ease);
}

.gb-preloader::before {
  content: "";
  position: absolute;
  width: 44rem;
  height: 44rem;
  border: 1px solid rgba(255,255,255,.08);
  transform: rotate(45deg);
  animation: gb-preloader-rotate 14s linear infinite;
}

.gb-preloader::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0 48%, rgba(255,255,255,.04) 50%, transparent 52%);
  transform: translateX(-100%);
  animation: gb-preloader-scan 1.6s var(--gb-premium-ease) infinite;
}

.gb-preloader__inner {
  position: relative;
  z-index: 2;
  width: min(78vw, 620px);
}

.gb-preloader__eyebrow,
.gb-preloader__meta {
  letter-spacing: .22em;
  font-size: clamp(.58rem, 1vw, .72rem);
  font-weight: 700;
}

.gb-preloader__eyebrow {
  margin-bottom: .8rem;
  color: rgba(255,255,255,.62);
}

.gb-preloader__title {
  font-size: clamp(3rem, 9vw, 7rem);
  line-height: .86;
  letter-spacing: -.065em;
  font-weight: 900;
}

.gb-preloader__rule {
  height: 1px;
  margin: 1.65rem 0 1rem;
  overflow: hidden;
  background: rgba(255,255,255,.14);
}

.gb-preloader__rule span {
  display: block;
  width: 100%;
  height: 100%;
  transform: translateX(-100%);
  background: linear-gradient(90deg, var(--gb-premium-red), #ff506e);
  animation: gb-preloader-progress 1.15s var(--gb-premium-ease) forwards;
}

.gb-preloader__meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: rgba(255,255,255,.48);
}

html.premium-ready .gb-preloader {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@keyframes gb-preloader-progress {
  to { transform: translateX(0); }
}

@keyframes gb-preloader-rotate {
  to { transform: rotate(405deg); }
}

@keyframes gb-preloader-scan {
  70%, 100% { transform: translateX(100%); }
}

/* Scroll progress */
.gb-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  z-index: 2147482000;
  pointer-events: none;
  background: rgba(255,255,255,.04);
}

.gb-scroll-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: 0 50%;
  background: linear-gradient(90deg, var(--gb-premium-red-deep), var(--gb-premium-red), #ff5a75);
  will-change: transform;
}

/* Custom cursor — desktop only */
.gb-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147482500;
  border-radius: 999px;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-100px,-100px,0);
  will-change: transform;
  transition: width .25s var(--gb-premium-ease), height .25s var(--gb-premium-ease), opacity .2s ease, background .25s ease, border-color .25s ease;
}

.gb-cursor--dot {
  width: 6px;
  height: 6px;
  background: #fff;
}

.gb-cursor--ring {
  width: 34px;
  height: 34px;
  margin: -14px 0 0 -14px;
  border: 1px solid rgba(255,255,255,.62);
}

body.premium-cursor-active .gb-cursor {
  opacity: 1;
}

body.premium-cursor-hover .gb-cursor--ring {
  width: 54px;
  height: 54px;
  margin: -24px 0 0 -24px;
  border-color: rgba(210,10,46,.7);
  background: rgba(210,10,46,.09);
}

@media (pointer: fine) and (min-width: 900px) {
  body.premium-cursor-active,
  body.premium-cursor-active a,
  body.premium-cursor-active button,
  body.premium-cursor-active [role="button"] {
    cursor: none !important;
  }
}

/* Header glass state; the JS only adds the class to the existing navigation */
.premium-header {
  transition: background-color .45s var(--gb-premium-ease), backdrop-filter .45s var(--gb-premium-ease), box-shadow .45s var(--gb-premium-ease), transform .45s var(--gb-premium-ease);
  will-change: transform;
}

.premium-header.gb-nav-scrolled {
  background-color: rgba(5,5,5,.72) !important;
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  backdrop-filter: blur(18px) saturate(125%);
  box-shadow: 0 1px 0 rgba(255,255,255,.08), 0 14px 50px rgba(0,0,0,.18);
}

/* Global visual refinement without changing layout or copy */
main section {
  position: relative;
  isolation: isolate;
}

main h1,
main h2 {
  text-wrap: balance;
  letter-spacing: -.025em;
}

main p {
  text-wrap: pretty;
}

.premium-button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transform: translateZ(0);
  transition: transform .3s var(--gb-premium-ease), box-shadow .3s var(--gb-premium-ease), filter .3s ease;
  will-change: transform;
}

.premium-button::after {
  content: "";
  position: absolute;
  inset: -30%;
  z-index: -1;
  background: linear-gradient(110deg, transparent 34%, rgba(255,255,255,.22) 50%, transparent 66%);
  transform: translateX(-120%) rotate(7deg);
  transition: transform .7s var(--gb-premium-ease);
  pointer-events: none;
}

.premium-button:hover::after {
  transform: translateX(120%) rotate(7deg);
}

.premium-button:hover {
  filter: brightness(1.045);
  box-shadow: 0 16px 46px rgba(0,0,0,.18);
}

.premium-card {
  transform-style: preserve-3d;
  backface-visibility: hidden;
  transition: transform .42s var(--gb-premium-ease), box-shadow .42s var(--gb-premium-ease);
  will-change: transform;
}

.premium-card:hover {
  box-shadow: var(--gb-premium-shadow);
}

.premium-media {
  overflow: hidden;
  transform: translateZ(0);
}

.premium-media img,
img.premium-image {
  will-change: transform;
  backface-visibility: hidden;
}

/* Fine editorial rule used by JS on visible sections */
.premium-section-accent::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(18px, 4vw, 64px);
  width: min(88px, 13vw);
  height: 1px;
  background: linear-gradient(90deg, var(--gb-premium-red), transparent);
  opacity: .62;
}

/* Internal-page Three.js canvas */
.gb-three-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .58;
  filter: saturate(1.05);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.9) 60%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.9) 60%, transparent 100%);
}

body.premium-internal-page {
  background:
    radial-gradient(circle at 78% 13%, rgba(210,10,46,.10), transparent 28rem),
    var(--gb-premium-black);
}

body.premium-internal-page > header,
body.premium-internal-page > nav,
body.premium-internal-page > main,
body.premium-internal-page > footer {
  position: relative;
  z-index: 1;
}

/* A subtle finish that reads as texture rather than an effect */
body.premium-enabled::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 2147481000;
  pointer-events: none;
  opacity: .035;
  background-image:
    radial-gradient(circle at 20% 30%, #fff 0 0.7px, transparent .8px),
    radial-gradient(circle at 70% 60%, #fff 0 0.6px, transparent .7px);
  background-size: 11px 11px, 13px 13px;
  mix-blend-mode: soft-light;
}

@media (max-width: 899px) {
  .gb-cursor { display: none !important; }
  .gb-preloader__inner { width: min(84vw, 520px); }
  .gb-preloader::before { width: 25rem; height: 25rem; }
  .gb-preloader__meta { letter-spacing: .13em; }
  .premium-card { transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
  .gb-cursor,
  .gb-three-bg { display: none !important; }
  .premium-card,
  .premium-button { transform: none !important; }
}


/* === PRELOADER V2 · Serra Azul signature reveal === */
html.premium-loading body > header,
html.premium-loading body > main,
html.premium-loading body > footer {
  transform: scale(1.018);
  filter: brightness(.58) saturate(.82) blur(4px);
}
body > header,
body > main,
body > footer {
  transition: transform 1.05s var(--gb-premium-ease), filter 1.05s var(--gb-premium-ease);
  transform-origin: 50% 45%;
}

.gb-preloader {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  overflow: hidden;
  background: #040404;
  color: #fff;
  opacity: 1;
  visibility: visible;
  transform: translate3d(0,0,0);
  transition: transform .95s var(--gb-premium-ease);
}

.gb-preloader::before {
  content: "";
  position: absolute;
  inset: -20%;
  width: auto;
  height: auto;
  border: 0;
  transform: none;
  background:
    radial-gradient(circle at 50% 48%, rgba(231,35,43,.18) 0, rgba(231,35,43,.08) 18rem, transparent 34rem),
    linear-gradient(180deg, rgba(255,255,255,.018), transparent 28%, transparent 72%, rgba(255,255,255,.018));
  animation: gb-preloader-breathe 2.4s ease-in-out infinite alternate;
}

.gb-preloader::after {
  content: "";
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  border: 0;
  transform: none;
  opacity: .2;
  background:
    linear-gradient(90deg, transparent 0 49.92%, rgba(255,255,255,.05) 50%, transparent 50.08%),
    linear-gradient(0deg, transparent 0 49.92%, rgba(255,255,255,.025) 50%, transparent 50.08%);
  background-size: 100% 100%;
  animation: none;
}

.gb-preloader__ambient {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0 43%, rgba(231,35,43,.045) 50%, transparent 57%),
    radial-gradient(circle at 50% 50%, transparent 0 18%, rgba(0,0,0,.22) 52%, rgba(0,0,0,.72) 100%);
  transform: scale(1.08);
}

.gb-preloader__brand {
  position: absolute;
  left: 50%;
  top: 49%;
  width: min(72vw, 560px);
  transform: translate(-50%,-50%);
  display: grid;
  justify-items: center;
  gap: 22px;
  z-index: 3;
}

.gb-preloader__mark-shell {
  position: relative;
  width: min(36vw, 250px);
  aspect-ratio: 911 / 710;
  display: grid;
  place-items: center;
}

.gb-preloader__halo {
  position: absolute;
  width: 145%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(231,35,43,.19), rgba(231,35,43,.06) 35%, transparent 68%);
  filter: blur(12px);
  opacity: .25;
  transform: scale(.78);
  transition: opacity .8s ease, transform 1.05s var(--gb-premium-ease);
}

.gb-preloader__mark-mask {
  position: absolute;
  inset: 0;
  overflow: hidden;
  clip-path: inset(0 100% 0 0);
  transition: clip-path .9s var(--gb-premium-ease);
}

.gb-preloader__mark {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(.92);
  opacity: .18;
  filter: saturate(.95) drop-shadow(0 18px 38px rgba(231,35,43,.16));
  transition: transform 1.2s var(--gb-premium-ease), opacity .75s ease, filter .85s ease;
}

.gb-preloader__wordmark {
  display: grid;
  justify-items: center;
  gap: 3px;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .6s ease .08s, transform .8s var(--gb-premium-ease) .08s;
}

.gb-preloader__wordmark span,
.gb-preloader__wordmark small {
  font-size: clamp(9px, .75vw, 11px);
  letter-spacing: .28em;
  color: rgba(255,255,255,.5);
  font-weight: 700;
}

.gb-preloader__wordmark strong {
  font-size: clamp(20px, 2vw, 30px);
  letter-spacing: .09em;
  font-weight: 800;
  line-height: 1.1;
}

.gb-preloader__wordmark small {
  font-size: clamp(7px, .62vw, 9px);
  letter-spacing: .2em;
  color: rgba(255,255,255,.32);
}

.gb-preloader__hud {
  position: absolute;
  left: clamp(22px, 3vw, 48px);
  right: clamp(22px, 3vw, 48px);
  bottom: clamp(30px, 4vh, 52px);
  z-index: 3;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.gb-preloader__status {
  display: grid;
  gap: 6px;
  text-transform: uppercase;
}

.gb-preloader__status span {
  font-size: clamp(9px, .75vw, 11px);
  letter-spacing: .18em;
  font-weight: 800;
  color: rgba(255,255,255,.82);
}

.gb-preloader__status small {
  font-size: 8px;
  letter-spacing: .22em;
  color: rgba(255,255,255,.32);
}

.gb-preloader__count {
  display: flex;
  align-items: flex-start;
  gap: 3px;
  font-variant-numeric: tabular-nums;
  line-height: .8;
}

.gb-preloader__count span {
  font-size: clamp(34px, 4vw, 64px);
  font-weight: 800;
  letter-spacing: -.05em;
}

.gb-preloader__count sup {
  margin-top: 2px;
  font-size: 9px;
  letter-spacing: .12em;
  color: rgba(255,255,255,.38);
}

.gb-preloader__track {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  z-index: 4;
  background: rgba(255,255,255,.06);
  overflow: hidden;
}

.gb-preloader__track span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: 0 50%;
  background: linear-gradient(90deg, #8f061f 0%, #e7232b 55%, #ff5962 100%);
  box-shadow: 0 0 24px rgba(231,35,43,.5);
  transition: transform .12s linear;
}

.gb-preloader.is-brand-live .gb-preloader__mark-mask {
  clip-path: inset(0 0 0 0);
}

.gb-preloader.is-brand-live .gb-preloader__mark {
  transform: scale(1);
  opacity: 1;
  filter: saturate(1) drop-shadow(0 22px 48px rgba(231,35,43,.25));
}

.gb-preloader.is-brand-live .gb-preloader__halo {
  opacity: .68;
  transform: scale(1);
}

.gb-preloader.is-brand-live .gb-preloader__wordmark {
  opacity: 1;
  transform: translateY(0);
}

.gb-preloader.is-complete .gb-preloader__brand {
  transform: translate(-50%,-50%) scale(.985);
  transition: transform .42s var(--gb-premium-ease);
}

.gb-preloader.is-leaving {
  transform: translate3d(0,-100%,0);
}

html.premium-ready .gb-preloader {
  opacity: 1;
  visibility: visible;
}

@keyframes gb-preloader-breathe {
  from { opacity: .62; transform: scale(.985); }
  to { opacity: 1; transform: scale(1.02); }
}

@media (max-width: 899px) {
  .gb-preloader__brand {
    top: 47%;
    width: min(82vw, 430px);
    gap: 18px;
  }
  .gb-preloader__mark-shell {
    width: min(54vw, 225px);
  }
  .gb-preloader__hud {
    bottom: 28px;
  }
  .gb-preloader__status span {
    font-size: 8px;
  }
  .gb-preloader__status small {
    font-size: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gb-preloader,
  .gb-preloader__mark,
  .gb-preloader__mark-mask,
  .gb-preloader__wordmark,
  .gb-preloader__halo,
  body > header,
  body > main,
  body > footer {
    transition-duration: .001ms !important;
    animation: none !important;
  }
}


/* PRELOADER V3 · animated GB triangle rotation */
.gb-preloader__mark-shell{
  transform-style:preserve-3d;
  perspective:900px;
}

.gb-preloader__mark-mask{
  transform-origin:50% 52%;
}

.gb-preloader.is-brand-live .gb-preloader__mark-mask{
  animation:gb-triangle-spin 2.9s cubic-bezier(.22,1,.36,1) both;
}

.gb-preloader.is-brand-live .gb-preloader__mark{
  animation:gb-triangle-depth 2.9s cubic-bezier(.22,1,.36,1) both;
}

.gb-preloader.is-brand-live .gb-preloader__halo{
  animation:gb-triangle-halo 2.9s ease-in-out both;
}

@keyframes gb-triangle-spin{
  0%{
    transform:perspective(900px) rotateZ(-5deg) rotateY(-18deg) scale(.88);
  }
  28%{
    transform:perspective(900px) rotateZ(95deg) rotateY(6deg) scale(.96);
  }
  62%{
    transform:perspective(900px) rotateZ(245deg) rotateY(-5deg) scale(1.035);
  }
  100%{
    transform:perspective(900px) rotateZ(360deg) rotateY(0deg) scale(1);
  }
}

@keyframes gb-triangle-depth{
  0%{
    filter:saturate(.9) brightness(.72) drop-shadow(0 8px 18px rgba(231,35,43,.12));
  }
  45%{
    filter:saturate(1.08) brightness(1.14) drop-shadow(0 28px 56px rgba(231,35,43,.38));
  }
  100%{
    filter:saturate(1) brightness(1) drop-shadow(0 22px 48px rgba(231,35,43,.25));
  }
}

@keyframes gb-triangle-halo{
  0%{opacity:.18;transform:scale(.72)}
  46%{opacity:.82;transform:scale(1.08)}
  100%{opacity:.68;transform:scale(1)}
}

@media (max-width:899px){
  .gb-preloader.is-brand-live .gb-preloader__mark-mask,
  .gb-preloader.is-brand-live .gb-preloader__mark,
  .gb-preloader.is-brand-live .gb-preloader__halo{
    animation-duration:2.45s;
  }
}

@media (prefers-reduced-motion:reduce){
  .gb-preloader.is-brand-live .gb-preloader__mark-mask,
  .gb-preloader.is-brand-live .gb-preloader__mark,
  .gb-preloader.is-brand-live .gb-preloader__halo{
    animation:none!important;
  }
}


/* PRELOADER V4 · tornado emergence */
.gb-preloader.is-brand-live .gb-preloader__mark-mask{
  animation:gb-triangle-tornado 1.9s cubic-bezier(.18,.82,.22,1) both;
  clip-path:inset(0 0 0 0);
  transform-origin:50% 58%;
}

.gb-preloader.is-brand-live .gb-preloader__mark{
  animation:gb-triangle-tornado-depth 1.9s cubic-bezier(.18,.82,.22,1) both;
}

.gb-preloader.is-brand-live .gb-preloader__halo{
  animation:gb-triangle-tornado-halo 1.9s ease-out both;
}

.gb-preloader.is-brand-live .gb-preloader__wordmark{
  animation:gb-wordmark-after-tornado .72s cubic-bezier(.22,1,.36,1) 1.18s both;
}

@keyframes gb-triangle-tornado{
  0%{
    opacity:0;
    transform:perspective(900px) translateY(92px) rotateZ(-1080deg) rotateX(16deg) scale(.12);
    filter:blur(12px);
  }
  24%{
    opacity:.45;
    transform:perspective(900px) translateY(58px) rotateZ(-760deg) rotateX(11deg) scale(.34);
    filter:blur(9px);
  }
  52%{
    opacity:.78;
    transform:perspective(900px) translateY(26px) rotateZ(-390deg) rotateX(6deg) scale(.68);
    filter:blur(4px);
  }
  78%{
    opacity:1;
    transform:perspective(900px) translateY(4px) rotateZ(-86deg) rotateX(2deg) scale(1.04);
    filter:blur(.8px);
  }
  90%{
    transform:perspective(900px) translateY(-3px) rotateZ(12deg) rotateX(0deg) scale(.985);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:perspective(900px) translateY(0) rotateZ(0deg) rotateX(0deg) scale(1);
    filter:blur(0);
  }
}

@keyframes gb-triangle-tornado-depth{
  0%{
    opacity:.12;
    filter:saturate(.75) brightness(.52) drop-shadow(0 0 0 rgba(231,35,43,0));
  }
  42%{
    opacity:.72;
    filter:saturate(1.08) brightness(.88) drop-shadow(0 12px 30px rgba(231,35,43,.16));
  }
  76%{
    opacity:1;
    filter:saturate(1.16) brightness(1.14) drop-shadow(0 34px 66px rgba(231,35,43,.42));
  }
  100%{
    opacity:1;
    filter:saturate(1) brightness(1) drop-shadow(0 22px 48px rgba(231,35,43,.25));
  }
}

@keyframes gb-triangle-tornado-halo{
  0%{
    opacity:0;
    transform:scale(.16) rotate(-540deg);
    filter:blur(28px);
  }
  48%{
    opacity:.36;
    transform:scale(.64) rotate(-240deg);
    filter:blur(20px);
  }
  82%{
    opacity:.9;
    transform:scale(1.12) rotate(-22deg);
    filter:blur(12px);
  }
  100%{
    opacity:.68;
    transform:scale(1) rotate(0);
    filter:blur(12px);
  }
}

@keyframes gb-wordmark-after-tornado{
  0%{
    opacity:0;
    transform:translateY(18px) scale(.985);
    filter:blur(5px);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

@media (max-width:899px){
  .gb-preloader.is-brand-live .gb-preloader__mark-mask,
  .gb-preloader.is-brand-live .gb-preloader__mark,
  .gb-preloader.is-brand-live .gb-preloader__halo{
    animation-duration:1.7s;
  }
  .gb-preloader.is-brand-live .gb-preloader__wordmark{
    animation-delay:1.02s;
  }
}


/* PRELOADER V5 · front-facing side rotation + crystal scan */
.gb-preloader__mark-shell{
  perspective:1100px;
  transform-style:preserve-3d;
  overflow:visible;
}

.gb-preloader.is-brand-live .gb-preloader__mark-mask{
  animation:gb-triangle-front-arrival 2.15s cubic-bezier(.16,.84,.22,1) both;
  transform-origin:50% 50%;
  clip-path:inset(0 0 0 0);
  backface-visibility:hidden;
}

.gb-preloader.is-brand-live .gb-preloader__mark{
  animation:gb-triangle-front-depth 2.15s cubic-bezier(.16,.84,.22,1) both;
}

.gb-preloader__mark-shell::before,
.gb-preloader__mark-shell::after{
  content:"";
  position:absolute;
  left:-18%;
  width:136%;
  height:2px;
  z-index:6;
  pointer-events:none;
  opacity:0;
  transform:translateY(-50%) rotate(-8deg) scaleX(.18);
  transform-origin:50% 50%;
  filter:drop-shadow(0 0 10px rgba(255,255,255,.5));
}

.gb-preloader__mark-shell::before{
  top:34%;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(255,255,255,0) 18%,
    rgba(255,255,255,.95) 42%,
    rgba(255,255,255,1) 50%,
    rgba(255,255,255,.92) 58%,
    rgba(255,255,255,0) 82%,
    transparent 100%);
}

.gb-preloader__mark-shell::after{
  top:61%;
  height:3px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(231,35,43,0) 14%,
    rgba(231,35,43,.4) 34%,
    rgba(255,65,74,1) 49%,
    rgba(255,255,255,.9) 53%,
    rgba(231,35,43,.72) 63%,
    rgba(231,35,43,0) 86%,
    transparent 100%);
  filter:
    drop-shadow(0 0 8px rgba(255,255,255,.38))
    drop-shadow(0 0 16px rgba(231,35,43,.48));
}

.gb-preloader.is-brand-live .gb-preloader__mark-shell::before{
  animation:gb-crystal-scan-white 1.55s cubic-bezier(.2,.8,.2,1) .38s both;
}

.gb-preloader.is-brand-live .gb-preloader__mark-shell::after{
  animation:gb-crystal-scan-red 1.55s cubic-bezier(.2,.8,.2,1) .7s both;
}

.gb-preloader__mark-mask::before{
  content:"";
  position:absolute;
  inset:-8%;
  z-index:5;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(102deg,
      transparent 0 41%,
      rgba(255,255,255,.03) 44%,
      rgba(255,255,255,.74) 49.4%,
      rgba(255,255,255,.96) 50%,
      rgba(231,35,43,.6) 50.7%,
      rgba(231,35,43,.06) 57%,
      transparent 61% 100%);
  mix-blend-mode:screen;
  transform:translateX(-120%);
}

.gb-preloader.is-brand-live .gb-preloader__mark-mask::before{
  animation:gb-crystal-glass-pass 1.35s cubic-bezier(.22,1,.36,1) .54s both;
}

.gb-preloader__count{
  min-width:112px;
  justify-content:flex-end;
  align-items:flex-start;
}

.gb-preloader__count span{
  font-size:clamp(46px,6vw,82px);
  font-weight:900;
  letter-spacing:-.065em;
  color:#fff;
  text-shadow:0 0 22px rgba(255,255,255,.12);
}

.gb-preloader__count sup{
  margin-top:5px;
  font-size:11px;
  color:#e7232b;
  font-weight:800;
}

.gb-preloader__status span{
  color:rgba(255,255,255,.92);
}

.gb-preloader__track{
  height:3px;
}

.gb-preloader__track span{
  box-shadow:
    0 0 12px rgba(255,255,255,.22),
    0 0 28px rgba(231,35,43,.42);
}

@keyframes gb-triangle-front-arrival{
  0%{
    opacity:0;
    transform:
      perspective(1100px)
      translate3d(-86px,28px,-160px)
      rotateY(-88deg)
      rotateZ(-2deg)
      scale(.5);
    filter:blur(9px);
  }
  24%{
    opacity:.34;
    transform:
      perspective(1100px)
      translate3d(-54px,18px,-90px)
      rotateY(-64deg)
      rotateZ(-1deg)
      scale(.66);
    filter:blur(6px);
  }
  48%{
    opacity:.72;
    transform:
      perspective(1100px)
      translate3d(-24px,9px,-38px)
      rotateY(-34deg)
      rotateZ(0deg)
      scale(.84);
    filter:blur(3px);
  }
  70%{
    opacity:1;
    transform:
      perspective(1100px)
      translate3d(6px,-2px,6px)
      rotateY(8deg)
      rotateZ(.2deg)
      scale(1.035);
    filter:blur(.4px);
  }
  86%{
    transform:
      perspective(1100px)
      translate3d(-2px,1px,0)
      rotateY(-3deg)
      rotateZ(0deg)
      scale(.992);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:
      perspective(1100px)
      translate3d(0,0,0)
      rotateY(0deg)
      rotateZ(0deg)
      scale(1);
    filter:blur(0);
  }
}

@keyframes gb-triangle-front-depth{
  0%{
    opacity:.12;
    filter:saturate(.72) brightness(.5) contrast(.92)
      drop-shadow(-18px 12px 18px rgba(231,35,43,0));
  }
  42%{
    opacity:.76;
    filter:saturate(1.02) brightness(.84) contrast(1.02)
      drop-shadow(-10px 18px 28px rgba(231,35,43,.18));
  }
  72%{
    opacity:1;
    filter:saturate(1.16) brightness(1.18) contrast(1.08)
      drop-shadow(0 30px 62px rgba(231,35,43,.42));
  }
  100%{
    opacity:1;
    filter:saturate(1) brightness(1) contrast(1)
      drop-shadow(0 22px 48px rgba(231,35,43,.25));
  }
}

@keyframes gb-crystal-scan-white{
  0%{
    opacity:0;
    transform:translate3d(-28%,56px,0) rotate(-8deg) scaleX(.18);
  }
  18%{opacity:.95}
  54%{
    opacity:1;
    transform:translate3d(2%,-10px,0) rotate(-8deg) scaleX(.86);
  }
  82%{opacity:.72}
  100%{
    opacity:0;
    transform:translate3d(30%,-72px,0) rotate(-8deg) scaleX(.22);
  }
}

@keyframes gb-crystal-scan-red{
  0%{
    opacity:0;
    transform:translate3d(26%,-52px,0) rotate(7deg) scaleX(.2);
  }
  16%{opacity:.9}
  56%{
    opacity:1;
    transform:translate3d(-2%,8px,0) rotate(7deg) scaleX(.92);
  }
  82%{opacity:.7}
  100%{
    opacity:0;
    transform:translate3d(-30%,72px,0) rotate(7deg) scaleX(.24);
  }
}

@keyframes gb-crystal-glass-pass{
  0%{
    opacity:0;
    transform:translateX(-120%) skewX(-6deg);
  }
  18%{opacity:.18}
  45%{opacity:.88}
  62%{opacity:.48}
  100%{
    opacity:0;
    transform:translateX(120%) skewX(-6deg);
  }
}

@media (max-width:899px){
  .gb-preloader__count span{
    font-size:56px;
  }
  .gb-preloader__mark-shell::before,
  .gb-preloader__mark-shell::after{
    width:132%;
    left:-16%;
  }
}

@media (prefers-reduced-motion:reduce){
  .gb-preloader.is-brand-live .gb-preloader__mark-shell::before,
  .gb-preloader.is-brand-live .gb-preloader__mark-shell::after,
  .gb-preloader.is-brand-live .gb-preloader__mark-mask::before{
    animation:none!important;
    opacity:0!important;
  }
}


/* PRELOADER V6 · isolated mark + cinematic red/black atmosphere */
.gb-preloader{
  background:
    radial-gradient(circle at 50% 42%, rgba(150,0,20,.14) 0, rgba(80,0,12,.07) 18rem, transparent 35rem),
    linear-gradient(180deg,#020204 0%,#05060a 58%,#020203 100%);
}

.gb-preloader__ambient{
  overflow:hidden;
  background:
    radial-gradient(circle at 76% 36%, rgba(80,110,145,.09), transparent 25rem),
    radial-gradient(circle at 27% 25%, rgba(212,18,41,.11), transparent 22rem),
    radial-gradient(circle at 50% 54%, transparent 0 18%, rgba(0,0,0,.18) 52%, rgba(0,0,0,.76) 100%);
}

.gb-preloader__ambient::before{
  content:"";
  position:absolute;
  inset:-12%;
  pointer-events:none;
  opacity:.7;
  background:
    linear-gradient(132deg,transparent 0 27%,rgba(219,24,45,.05) 30%,transparent 33%),
    linear-gradient(132deg,transparent 0 64%,rgba(239,31,50,.18) 65%,rgba(239,31,50,.03) 67%,transparent 69%),
    linear-gradient(132deg,transparent 0 73%,rgba(116,13,27,.16) 74%,transparent 76%);
  transform:translate3d(0,0,0) scale(1.03);
  animation:gb-atmosphere-streaks 5.8s ease-in-out infinite alternate;
}

.gb-preloader__ambient::after{
  content:"";
  position:absolute;
  right:-8%;
  bottom:6%;
  width:min(58vw,760px);
  height:min(64vh,700px);
  pointer-events:none;
  opacity:.3;
  filter:blur(24px);
  background:
    radial-gradient(ellipse at 60% 55%,rgba(150,175,205,.19) 0 8%,transparent 24%),
    radial-gradient(ellipse at 42% 68%,rgba(110,145,185,.14) 0 7%,transparent 27%),
    radial-gradient(ellipse at 72% 32%,rgba(150,170,195,.12) 0 6%,transparent 24%);
  transform:rotate(-12deg) scale(1.08);
  animation:gb-smoke-drift 7s ease-in-out infinite alternate;
}

.gb-preloader__mark-shell{
  isolation:isolate;
}

.gb-preloader__mark-mask{
  overflow:visible;
  background:transparent!important;
}

.gb-preloader__mark{
  mix-blend-mode:screen;
  background:transparent!important;
  isolation:isolate;
  filter:
    contrast(1.14)
    saturate(1.05)
    brightness(1.02)
    drop-shadow(0 22px 48px rgba(231,35,43,.26));
}

.gb-preloader.is-brand-live .gb-preloader__mark{
  mix-blend-mode:screen;
}

.gb-preloader__mark-shell::before{
  filter:
    drop-shadow(0 0 8px rgba(255,255,255,.65))
    drop-shadow(0 0 18px rgba(255,255,255,.24));
}

.gb-preloader__mark-shell::after{
  filter:
    drop-shadow(0 0 8px rgba(255,255,255,.4))
    drop-shadow(0 0 18px rgba(231,35,43,.6));
}

.gb-preloader__mark-mask::before{
  mix-blend-mode:screen;
}

.gb-preloader__brand::before{
  content:"";
  position:absolute;
  width:min(48vw,390px);
  aspect-ratio:1;
  top:-14%;
  left:50%;
  transform:translateX(-50%);
  border-radius:50%;
  border:1px solid rgba(231,35,43,.12);
  box-shadow:
    0 0 0 34px rgba(231,35,43,.018),
    0 0 0 72px rgba(231,35,43,.012);
  opacity:.55;
  pointer-events:none;
}

.gb-preloader.is-brand-live .gb-preloader__brand::before{
  animation:gb-red-orbit 3.6s ease-in-out both;
}

.gb-preloader__hud{
  border-top:1px solid rgba(255,255,255,.035);
  padding-top:18px;
}

.gb-preloader__count span{
  color:#fff;
  text-shadow:
    0 0 18px rgba(255,255,255,.12),
    0 0 32px rgba(231,35,43,.10);
}

@keyframes gb-atmosphere-streaks{
  from{transform:translate3d(-1.2%,1%,0) scale(1.03);opacity:.5}
  to{transform:translate3d(1.2%,-1%,0) scale(1.05);opacity:.78}
}

@keyframes gb-smoke-drift{
  from{transform:translate3d(0,10px,0) rotate(-12deg) scale(1.04);opacity:.22}
  to{transform:translate3d(-26px,-18px,0) rotate(-8deg) scale(1.12);opacity:.36}
}

@keyframes gb-red-orbit{
  0%{opacity:0;transform:translateX(-50%) rotate(-30deg) scale(.72)}
  38%{opacity:.72;transform:translateX(-50%) rotate(10deg) scale(1.03)}
  100%{opacity:.48;transform:translateX(-50%) rotate(42deg) scale(1)}
}

@media(max-width:899px){
  .gb-preloader__ambient::after{
    right:-24%;
    width:90vw;
    height:58vh;
    opacity:.24;
  }
  .gb-preloader__brand::before{
    width:min(72vw,330px);
  }
}

@media(prefers-reduced-motion:reduce){
  .gb-preloader__ambient::before,
  .gb-preloader__ambient::after,
  .gb-preloader.is-brand-live .gb-preloader__brand::before{
    animation:none!important;
  }
}


/* Hover sheen is a desktop enhancement, never a sticky touch state. */
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){
  .premium-button::after{display:none!important}
}
