html, body { height: 100%; }

:root {
  --gv-bg0:#11131a;
  --gv-bg1:#14224a;
  --gv-bg2:#2a4f86;
  --gv-bg3:#7aa7c7;
  --gv-bg4:#8b6f6b;

  --gv-text:#f6f7fb;
  --gv-muted:rgba(246,247,251,.78);

  --gv-glass:rgba(16,16,22,.52);
  --gv-border:rgba(255,255,255,.14);

  --gv-accent:#ffd35a;
  --gv-accent2:#ff9a4a;

  --gv-shadow:0 18px 40px rgba(0,0,0,.30);
  --gv-shadow2:0 10px 26px rgba(0,0,0,.24);

  --gv-radius:18px;
  --gv-radius2:22px;

  --btn-primary-bg:#FF4D00;
  --btn-primary-hover:#E64500;
  --btn-primary-text:#FFFFFF;

  --btn-secondary-bg:#00C2FF;
  --btn-secondary-hover:#00A7DB;
  --btn-secondary-text:#001018;

  --btn-tertiary-bg:#fff;
  --btn-tertiary-hover:#001018;
  --btn-tertiary-text:#001018;
}

.btn {
    padding: 10px 40px;
    letter-spacing: 0.10em;
    text-transform: none;
    font-weight: 600;
    width: fit-content;
}

.btn-primary{
  --bs-btn-color:var(--btn-primary-text);
  --bs-btn-bg:var(--btn-primary-bg);
  --bs-btn-border-color:var(--btn-primary-bg);
  --bs-btn-hover-color:var(--btn-primary-text);
  --bs-btn-hover-bg:var(--btn-primary-hover);
  --bs-btn-hover-border-color:var(--btn-primary-hover);
  --bs-btn-active-color:var(--btn-primary-text);
  --bs-btn-active-bg:var(--btn-primary-hover);
  --bs-btn-active-border-color:var(--btn-primary-hover);
  --bs-btn-focus-shadow-rgb:255,77,0;
}

.btn-secondary{
  --bs-btn-color:var(--btn-secondary-text);
  --bs-btn-bg:var(--btn-secondary-bg);
  --bs-btn-border-color:var(--btn-secondary-bg);
  --bs-btn-hover-color:var(--btn-secondary-text);
  --bs-btn-hover-bg:var(--btn-secondary-hover);
  --bs-btn-hover-border-color:var(--btn-secondary-hover);
  --bs-btn-active-color:var(--btn-secondary-text);
  --bs-btn-active-bg:var(--btn-secondary-hover);
  --bs-btn-active-border-color:var(--btn-secondary-hover);
  --bs-btn-focus-shadow-rgb:0,194,255;
}

.btn-tertiary{
  --bs-btn-color:#FFFFFF;
  --bs-btn-bg:transparent;
  --bs-btn-border-color:#FFFFFF;
  --bs-btn-hover-color:#000000;
  --bs-btn-hover-bg:#FFFFFF;
  --bs-btn-hover-border-color:#FFFFFF;
  --bs-btn-active-color:#000000;
  --bs-btn-active-bg:#FFFFFF;
  --bs-btn-active-border-color:#FFFFFF;
  --bs-btn-focus-shadow-rgb:255,255,255;
}


/* *{ box-sizing:border-box; } */

body {
  min-height:100%;
  margin:0;
  color:var(--gv-text);
  font-family:'ABeeZee', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  background-color:var(--gv-bg0);
  background-image:
    radial-gradient(1400px 950px at 16% 10%, rgba(255,255,255,.12), rgba(255,255,255,0) 66%),
    radial-gradient(1100px 850px at 86% 14%, rgba(255,211,90,.10), rgba(255,255,255,0) 70%),
    radial-gradient(1200px 900px at 54% 92%, rgba(122,167,199,.12), rgba(255,255,255,0) 72%),
    linear-gradient(to right bottom, var(--gv-bg1), var(--gv-bg2), #4f78ae, var(--gv-bg3), var(--gv-bg4));
  background-repeat:no-repeat;
  background-attachment:fixed;
  background-size:165% 165%;
  animation:gvGlow 90s ease-in-out infinite;
}

body.home::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(rgba(255,255,255,.08) 1px, rgba(0,0,0,0) 1px) 0 0 / 34px 34px,
    radial-gradient(rgba(255,211,90,.07) 1px, rgba(0,0,0,0) 1px) 17px 17px / 34px 34px,
    linear-gradient(135deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 55%),
    linear-gradient(225deg, rgba(122,167,199,.06) 0%, rgba(0,0,0,0) 60%);
  background-repeat:repeat;
  opacity:.55;
  mix-blend-mode:overlay;
  -webkit-mask-image:radial-gradient(circle at 30% 18%, rgba(0,0,0,1) 0%, rgba(0,0,0,.70) 44%, rgba(0,0,0,0) 82%);
  mask-image:radial-gradient(circle at 30% 18%, rgba(0,0,0,1) 0%, rgba(0,0,0,.70) 44%, rgba(0,0,0,0) 82%);
  z-index:-1;
}

@keyframes gvGlow{
  0%{ background-position:0% 0% }
  50%{ background-position:100% 100% }
  100%{ background-position:0% 0% }
}

@media (prefers-reduced-motion: reduce){
  body.home{ animation:none; }
}

a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:none; }

:focus-visible{
  outline:3px solid rgba(255,211,90,.95);
  outline-offset:3px;
  border-radius:10px;
}

.skip-link{
  position:absolute;
  left:12px;
  top:12px;
  padding:10px 12px;
  border-radius:12px;
  background:#000;
  color:#fff;
  z-index:9999;
  transform:translateY(-160%);
  transition:transform .2s ease;
}
.skip-link:focus{ transform:translateY(0); }

.site-header{
  position:sticky;
  top:0;
  z-index:4000;
  background:var(--gv-glass);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--gv-border);
}

.site-nav{ padding:.75rem 0; }

.gn-logo{
  display:flex;
  align-items:center;
  width:auto;
  height:auto;
}
.gn-logo img{
  height:72px;
  width:auto;
  display:block;
}
@media (max-width:600px){
  .gn-logo img{ height:58px; }
  .sale-media { background: none !important; }
  .sale-card::before { background: none !important; }
}

.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link.btn{
  color:rgba(255,255,255,.88);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.92rem;
  padding:.75rem .85rem;
  border-radius:12px;
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus-visible{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.navbar-dark .navbar-nav .nav-link.btn{ text-decoration:none; }

.dropdown-menu{
  background:rgba(10,10,14,.92);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--gv-shadow2);
  border-radius:14px;
  padding:.4rem;
}
.dropdown-item{
  color:rgba(255,255,255,.92);
  border-radius:12px;
  padding:.75rem .85rem;
}
.dropdown-item:hover,
.dropdown-item:focus{
  background:rgba(255,211,90,.16);
  color:#fff;
}
.dropdown-item.active,
.dropdown-item:active{
  background:rgba(255,154,74,.18);
  color:#fff;
}

.hero-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,154,74,.20),rgba(122,167,199,.18),rgba(255,211,90,.12),rgba(139,111,107,.16));
  opacity:.55;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.72) 55%,rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.72) 55%,rgba(0,0,0,0) 100%);
}
.hero-content{
  position:relative;
  z-index:1;
}

.hero-lede{
  margin:0;
  color:var(--gv-muted);
  max-width:70ch;
  line-height:1.6;
  font-size:1.05rem;
}

.section-title{
  margin:0 0 6px 0;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:clamp(1.4rem,2.6vw,2.1rem);
}
.section-sub{
  margin:0;
  color:var(--gv-muted);
}

.carousel-wrap{
  background:rgba(0,0,0,.16);
  border:3px solid #00000059;
  border-radius:var(--gv-radius2);
  box-shadow:var(--gv-shadow2);
  padding:12px;
  backdrop-filter:blur(10px);
}
.carousel-inner img{
  max-height:600px;
  object-fit:cover;
}
@media (max-width:768px){
  .carousel-inner img{ max-height:420px; }
}

.carousel-indicators{ margin-bottom:.85rem; }
.carousel-indicators [data-bs-target]{
  width:14px;
  height:14px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.65);
  background:rgba(0,0,0,.22);
  opacity:1;
}
.carousel-indicators .active{
  background:var(--gv-accent);
  border-color:var(--gv-accent);
}

.carousel-control-prev,
.carousel-control-next{ width:12%; }
.carousel-control-prev-icon,
.carousel-control-next-icon{ filter:drop-shadow(0 6px 18px rgba(0,0,0,.55)); }

.sale-card{
  border:3px solid #00000059;
  background:rgb(18 19 33 / 26%);
  padding:16px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  position:relative;
}
.sale-card::before{
  content:"";
  position:absolute;
  inset:0;
  padding:10px;
  background:linear-gradient(135deg,rgba(255,154,74,.32),rgba(122,167,199,.26),rgba(255,211,90,.20),rgba(139,111,107,.22));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite:exclude;
  pointer-events:none;
  opacity:.55;
  transition:opacity .35s ease;
}
.sale-card:hover::before,
.sale-card:focus-within::before{ opacity:.9; }

.sale-media{
  background:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.85) 25%,rgba(0,0,0,.45) 60%,rgba(0,0,0,0) 100%);
}
.sale-media img{
  display:block;
  max-height:420px;
  margin:16px auto 0 auto;
  object-fit:contain;
  border:3px solid #fff;
}
.sale-body{
  padding:16px 16px 18px 16px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.sale-title{
  margin:0;
  font-weight:900;
  letter-spacing:.04em;
  line-height:1.18;
  font-size:1.25rem;
}
.sale-badge{
  display:inline-block;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.78rem;
  color:rgba(255,255,255,.85);
  margin-left:6px;
}

.btn-cta{
  border-radius:16px;
  padding:14px 18px;
  font-weight:900;
  letter-spacing:.12em;
  margin:auto;
  margin-top:16px;
  max-width:max-content;
  border:1px solid rgba(255,255,255,.22);
  background:linear-gradient(180deg, rgba(255,211,90,.98) 0%, rgba(255,174,74,.98) 100%);
  color:#11131a;
  box-shadow:0 12px 26px rgba(0,0,0,.32);
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.sale-body a.btn-cta:hover{
  background:linear-gradient(180deg, rgba(255,184,90,.98) 0%, rgba(255,155,74,.98) 100%);
  color:#000;
}

.tile-card{
  border:3px solid #00000059;
  background:rgba(0,0,0,.24);
  border-radius:var(--gv-radius2);
  box-shadow:var(--gv-shadow2);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding:14px;
  position:relative;
  min-height:240px;
}
.tile-card::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0.07) 0,rgba(255,255,255,0.07) 2px,rgba(255,255,255,0) 2px,rgba(255,255,255,0) 22px);
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,0.42) 40%,rgba(0,0,0,0) 70%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,0.42) 40%,rgba(0,0,0,0) 70%);
  pointer-events:none;
  opacity:.45;
}
.tile-title{
  margin:0 0 12px 0;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.95rem;
  text-align: center;
  color:#fff;
  position:relative;
  z-index:1;
  background:rgba(0,0,0,.85);
  padding:8px 10px;
  border-radius:14px;
  width:fit-content;
  border:1px solid rgba(255,255,255,.12);
}

.tile-media{
  margin-top: auto;
  border-radius: 0;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  overflow: hidden;
  border: solid 3px #fff;
  background: #000;
  position: relative;
  z-index: 1;
}

.tile-media img{
  width:100%;
  height:400px;
  display:block;
  object-fit:cover;
  transition:transform .45s ease, filter .35s ease;
}
.tile-media a:hover img,
.tile-media a:focus-visible img{
  transform:scale(1.06);
}

.contact-strip{
  background:var(--gv-glass);
  backdrop-filter:blur(12px);
  border-top:1px solid var(--gv-border);
  border-bottom:1px solid var(--gv-border);
}

.social-buttons{ flex-wrap:wrap; }

.social-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  font-weight:900;
  letter-spacing:.12em;
  /* text-transform:uppercase; */
  font-size:.85rem;
  box-shadow:0 10px 18px rgba(0,0,0,.24);
  transition:transform .18s ease, filter .18s ease;
}

.kindle-btn{ background:#a2edc9; color:#000; }
.amazon-btn{ background:#ff9900; color:#000; }
.amazon2-btn{ background:#c46b3c; color:#000; }
.paypal-btn{ background:#003087; color:#fff; }
.tiktok-btn{ background:#69c9d0; color:#000; }
.linkedin-btn{ background:#0077b5; color:#fff; }
.instagram-btn{ background:#f56040; color:#000; }
.bluesky-btn{ background:#87ceeb; color:#000; }

.social-btn:hover{ background:#0dcaf0; color:#000; }
.paypal-btn:hover{ background:#009cde; color:#fff; }
.linkedin-btn:hover{ background:#005582; color:#fff; }
.instagram-btn:hover{ background:#f88f43; color:#000; }

@media (max-width:575px){
  .social-btn{ width:100%; }
}

.site-footer{
  background:rgba(0,0,0,.24);
  border-top:1px solid var(--gv-border);
  backdrop-filter:blur(10px);
}
.site-footer .copyright{
  text-align:center;
  color:rgba(255,255,255,.84);
  letter-spacing:.06em;
}

.back-to-top{
  position:fixed;
  right:18px;
  bottom:18px;
  width:46px;
  height:46px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.62);
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.34);
  opacity:0;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .25s ease, transform .25s ease;
  z-index:9999;
}
.back-to-top.show{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.back-to-top:hover{ transform:translateY(-3px); }
.back-to-top i{ font-size:18px; }

section{ background:transparent; }

.fully{ background:#1e406b; }

html.pw-locked body{ overflow:hidden; }
html.pw-locked #pageContent{ visibility:hidden; }
html.pw-locked #pwGate{ display:flex; }
#pwGate{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:1.25rem;
  background:rgba(0,0,0,.86);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
#pwGate .pw-card{
  width:100%;
  max-width:440px;
  border-radius:1rem;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(20,20,24,.88);
  box-shadow:0 20px 60px rgba(0,0,0,.45);
  padding:1.25rem;
  color:#fff;
}
#pwGate .pw-title{
  font-size:1.25rem;
  margin:0 0 .25rem 0;
}
#pwGate .pw-sub{
  margin:0 0 1rem 0;
  opacity:.85;
}