/*
Theme Name: GearBox Cyber Motion
Theme URI: https://gearbox-appli.com/
Author: GearBox
Author URI: https://gearbox-appli.com/
Description: GearBox公式カラーの黄・黒を使用した、スクロール連動アニメーション付きWordPressテーマ。Contact Form 7、無料PDF資料、レスポンシブ表示、基本SEO・OGP・構造化データに対応。
Version: 3.6.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: gearbox-modern
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --gb-black: #070806;
  --gb-black-2: #0e100e;
  --gb-black-3: #151713;
  --gb-panel: rgba(20, 22, 18, 0.84);
  --gb-panel-solid: #131510;
  --gb-yellow: #ffde59;
  --gb-yellow-bright: #ffe46f;
  --gb-yellow-dim: #b69b32;
  --gb-white: #f8f8f1;
  --gb-muted: #aaa99c;
  --gb-line: rgba(255, 222, 89, 0.28);
  --gb-line-soft: rgba(255, 255, 255, 0.08);
  --gb-shadow: 0 24px 80px rgba(0, 0, 0, 0.42);
  --gb-glow: 0 0 28px rgba(255, 222, 89, 0.28);
  --gb-radius: 4px;
  --gb-radius-lg: 18px;
  --gb-container: 1240px;
  --gb-header-h: 86px;
  --gb-font: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;
  --gb-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--gb-black); }
body {
  margin: 0;
  color: var(--gb-white);
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px),
    var(--gb-black);
  background-size: 64px 64px;
  font-family: var(--gb-font);
  line-height: 1.8;
  letter-spacing: .02em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.admin-bar .gb-site-header { top: 32px; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; width: auto; height: auto; padding: 12px 16px; margin: 0; clip: auto; background: var(--gb-yellow); color: var(--gb-black); }
::selection { background: var(--gb-yellow); color: var(--gb-black); }

.gb-container { width: min(calc(100% - 48px), var(--gb-container)); margin-inline: auto; }
.gb-narrow { width: min(calc(100% - 48px), 850px); margin-inline: auto; }
.gb-text-center { text-align: center; }
.gb-mt-24 { margin-top: 24px; }
.gb-mt-40 { margin-top: 40px; }

.gb-skip-link {
  position: fixed; z-index: 99999; left: 16px; top: -80px;
  padding: 12px 18px; background: var(--gb-yellow); color: var(--gb-black);
}
.gb-skip-link:focus { top: 16px; }

/* Header */
.gb-site-header {
  position: fixed; inset: 0 0 auto; z-index: 1000;
  height: var(--gb-header-h);
  background: linear-gradient(180deg, rgba(6,7,5,.88), rgba(6,7,5,.56));
  border-bottom: 1px solid rgba(255,222,89,.12);
  backdrop-filter: blur(16px);
  transition: background .35s ease, box-shadow .35s ease, border-color .35s ease, height .35s ease;
}
.gb-site-header::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,222,89,.6), transparent);
  opacity: .28;
}
.gb-site-header.is-scrolled {
  background: rgba(6,7,5,.94);
  border-color: rgba(255,222,89,.28);
  box-shadow: 0 12px 34px rgba(0,0,0,.42);
}
.gb-header-inner { height: 100%; display: flex; align-items: center; gap: 30px; }
.gb-brand {
  flex: 0 0 auto; display: inline-flex; align-items: center;
  min-width: 245px; min-height: 58px; padding: 8px 22px 7px 14px;
  color: var(--gb-black); background: var(--gb-yellow);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);
  filter: drop-shadow(0 0 18px rgba(255,222,89,.16));
}
.gb-brand__stack { display: flex; flex-direction: column; gap: 1px; }
.gb-brand__logo { width: 205px; height: auto; max-height: 38px; object-fit: contain; object-position: left center; }
.gb-brand__tagline {
  font-family: var(--gb-mono); font-size: 9px; line-height: 1.1; letter-spacing: .16em;
  text-transform: uppercase; color: var(--gb-black); font-weight: 700; padding-left: 55px;
}
.custom-logo-link { display: flex; align-items: center; padding: 6px 14px; background: var(--gb-yellow); clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%); }
.custom-logo { max-height: 48px; width: auto; }
.gb-primary-nav { margin-left: auto; }
.gb-primary-nav ul { display: flex; align-items: center; gap: clamp(18px, 2vw, 34px); padding: 0; margin: 0; list-style: none; }
.gb-primary-nav li { position: relative; }
.gb-primary-nav a {
  display: block; padding: 28px 0 24px; color: rgba(248,248,241,.82);
  font-size: 14px; font-weight: 600; letter-spacing: .08em; white-space: nowrap;
  transition: color .25s ease;
}
.gb-primary-nav a::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: 18px; height: 2px;
  background: var(--gb-yellow); box-shadow: var(--gb-glow); transition: right .25s ease;
}
.gb-primary-nav a:hover, .gb-primary-nav a:focus-visible,
.gb-primary-nav .current-menu-item > a, .gb-primary-nav .current_page_item > a { color: var(--gb-yellow); }
.gb-primary-nav a:hover::after, .gb-primary-nav a:focus-visible::after,
.gb-primary-nav .current-menu-item > a::after, .gb-primary-nav .current_page_item > a::after { right: 0; }
.gb-header-cta { flex: 0 0 auto; min-height: 46px; padding-inline: 22px; font-size: 13px; }
.gb-menu-toggle { display: none; border: 0; background: transparent; padding: 12px; margin-left: auto; cursor: pointer; }
.gb-menu-toggle span { display: block; width: 26px; height: 2px; background: var(--gb-yellow); margin: 5px 0; transition: transform .25s, opacity .25s; }

/* Buttons */
.gb-button {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  min-height: 54px; padding: 12px 24px; border: 1px solid var(--gb-yellow);
  background: var(--gb-yellow); color: var(--gb-black); font-weight: 800; letter-spacing: .06em;
  box-shadow: 0 0 0 rgba(255,222,89,0); overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}
.gb-button::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.45), transparent 60%); transform: translateX(-130%); transition: transform .6s ease; }
.gb-button:hover::before { transform: translateX(130%); }
.gb-button:hover { transform: translateY(-2px); box-shadow: 0 0 28px rgba(255,222,89,.28); }
.gb-button svg { width: 20px; height: 20px; }
.gb-button--ghost { background: rgba(7,8,6,.1); color: var(--gb-yellow); border-color: rgba(255,222,89,.62); }
.gb-button--ghost:hover { background: rgba(255,222,89,.08); }
.gb-button--light { background: var(--gb-yellow); color: var(--gb-black); }

/* Motion hero */
.gb-motion-hero { position: relative; height: 370vh; min-height: 2200px; background: var(--gb-black); }
.gb-motion-sticky {
  position: sticky; top: 0; height: 100svh; min-height: 680px; overflow: hidden;
  isolation: isolate; background: #070806;
}
.gb-motion-bg, .gb-motion-bg::before, .gb-motion-bg::after { position: absolute; inset: 0; content: ""; pointer-events: none; }
.gb-motion-bg {
  z-index: -5;
  background:
    radial-gradient(circle at 73% 47%, rgba(255,222,89,.12) 0 2%, transparent 26%),
    radial-gradient(circle at 73% 47%, transparent 0 22%, rgba(255,222,89,.08) 22.2% 22.5%, transparent 22.8% 31%, rgba(255,222,89,.08) 31.2% 31.5%, transparent 31.8%),
    linear-gradient(120deg, #050604 0%, #0b0d0a 50%, #060705 100%);
}
.gb-motion-bg::before {
  opacity: .48;
  background-image:
    linear-gradient(rgba(255,222,89,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,222,89,.035) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(to bottom, black 0, black 80%, transparent 100%);
}
.gb-motion-bg::after {
  background:
    radial-gradient(circle, rgba(255,222,89,.8) 0 1px, transparent 1.5px) 0 0 / 98px 98px,
    radial-gradient(circle, rgba(255,255,255,.6) 0 1px, transparent 1.5px) 35px 22px / 138px 138px;
  opacity: .24;
  animation: gb-star-drift 22s linear infinite;
}
@keyframes gb-star-drift { to { transform: translate3d(-90px, 45px, 0); } }
.gb-motion-sticky::before {
  content: ""; position: absolute; inset: var(--gb-header-h) 0 0; z-index: -2; pointer-events: none;
  background:
    linear-gradient(90deg, transparent 49.92%, rgba(255,222,89,.09) 50%, transparent 50.08%),
    linear-gradient(transparent 49.92%, rgba(255,222,89,.06) 50%, transparent 50.08%);
  background-size: 340px 340px;
  transform: perspective(700px) rotateX(66deg) translateY(45%); transform-origin: bottom;
  opacity: .34;
}
.gb-motion-copy {
  position: absolute; z-index: 6; left: max(48px, calc((100vw - var(--gb-container))/2)); top: 50%;
  width: min(650px, 45vw); transform: translateY(-46%);
}
.gb-motion-stage { position: absolute; inset: auto 0; opacity: 0; transform: translateY(24px); pointer-events: none; transition: opacity .42s ease, transform .42s ease; }
.gb-motion-stage.is-active { opacity: 1; transform: translateY(0); pointer-events: auto; }
.gb-motion-eyebrow, .gb-kicker {
  margin: 0 0 22px; color: var(--gb-yellow); font-family: var(--gb-mono); font-size: 12px;
  font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
}
.gb-motion-eyebrow::before, .gb-kicker::before { content: ""; display: inline-block; width: 30px; height: 1px; margin: 0 12px 4px 0; background: var(--gb-yellow); box-shadow: var(--gb-glow); }
.gb-motion-stage h1, .gb-motion-stage h2 {
  margin: 0 0 30px; color: var(--gb-white); font-size: clamp(52px, 5.8vw, 104px); line-height: .98;
  letter-spacing: -.055em; font-weight: 900; text-shadow: 0 4px 28px rgba(0,0,0,.35);
}
.gb-motion-stage h1 span:last-child, .gb-motion-stage h2 span { color: var(--gb-yellow); text-shadow: 0 0 36px rgba(255,222,89,.16); }
.gb-motion-stage > p:last-of-type { max-width: 590px; margin: 0; color: rgba(248,248,241,.74); font-size: clamp(15px, 1.25vw, 19px); line-height: 2; }
.gb-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.gb-device-scene {
  position: absolute; z-index: 4; right: max(40px, calc((100vw - var(--gb-container))/2 - 30px)); top: 50%;
  width: min(620px, 48vw); height: min(720px, 78vh); transform: translateY(-46%);
}
.gb-device-scene::before, .gb-device-scene::after {
  content: ""; position: absolute; left: 50%; top: 50%; border: 1px solid rgba(255,222,89,.17); border-radius: 50%; transform: translate(-50%,-50%); pointer-events: none;
}
.gb-device-scene::before { width: 550px; height: 550px; box-shadow: inset 0 0 80px rgba(255,222,89,.05); animation: gb-ring-spin 28s linear infinite; }
.gb-device-scene::after { width: 430px; height: 430px; border-style: dashed; animation: gb-ring-spin-rev 20s linear infinite; }
@keyframes gb-ring-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes gb-ring-spin-rev { to { transform: translate(-50%,-50%) rotate(-360deg); } }
.gb-device-glow {
  position: absolute; inset: 16% 10%; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,222,89,.23), rgba(255,222,89,.08) 35%, transparent 70%);
  filter: blur(26px); transform: scale(var(--gb-glow-scale,1)); opacity: var(--gb-glow-opacity,.78);
}
.gb-phone {
  --gb-phone-scale: 1; --gb-phone-x: 0px; --gb-phone-y: 0px; --gb-phone-rotate: -3deg;
  position: absolute; z-index: 3; left: 50%; top: 50%; width: 285px; height: 590px;
  transform: translate(calc(-50% + var(--gb-phone-x)), calc(-50% + var(--gb-phone-y))) rotate(var(--gb-phone-rotate)) scale(var(--gb-phone-scale));
  border-radius: 52px; padding: 11px; background: linear-gradient(145deg, #3b3c37, #080907 38%, #32332f 65%, #050604);
  border: 1px solid rgba(255,255,255,.28); box-shadow: 0 45px 90px rgba(0,0,0,.7), 0 0 0 2px rgba(255,222,89,.08), 0 0 44px rgba(255,222,89,.16);
  transition: filter .2s linear; will-change: transform;
}
.gb-phone::before { content: ""; position: absolute; inset: -2px; border-radius: inherit; padding: 1px; background: linear-gradient(145deg, rgba(255,222,89,.7), transparent 28%, rgba(255,222,89,.24) 70%, transparent); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.gb-phone__speaker { position: absolute; z-index: 3; top: 18px; left: 50%; width: 92px; height: 25px; transform: translateX(-50%); border-radius: 20px; background: #020302; }
.gb-phone__screen {
  position: relative; height: 100%; overflow: hidden; border-radius: 42px;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,222,89,.12), transparent 35%),
    linear-gradient(rgba(255,222,89,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,222,89,.04) 1px, transparent 1px), #080907;
  background-size: auto, 32px 32px, 32px 32px, auto;
}
.gb-phone__screen::before { content: ""; position: absolute; left: 50%; top: 46%; width: 250px; height: 250px; transform: translate(-50%,-50%); border: 1px solid rgba(255,222,89,.18); border-radius: 50%; box-shadow: 0 0 50px rgba(255,222,89,.08), inset 0 0 40px rgba(255,222,89,.05); }
.gb-phone__brand { position: absolute; z-index: 2; left: 50%; top: 37%; width: 134px; transform: translate(-50%,-50%); filter: drop-shadow(0 0 18px rgba(255,222,89,.28)); }
.gb-phone__label { position: absolute; left: 0; right: 0; top: 55%; color: var(--gb-yellow); text-align: center; font-family: var(--gb-mono); font-size: 11px; letter-spacing: .22em; }
.gb-phone__apps { position: absolute; left: 28px; right: 28px; bottom: 46px; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; opacity: var(--gb-screen-app-opacity,1); transform: scale(var(--gb-screen-app-scale,1)); transition: opacity .15s linear; }
.gb-phone__apps img { width: 100%; border-radius: 14px; border: 1px solid rgba(255,222,89,.15); }
.gb-phone__bar { position: absolute; left: 50%; bottom: 13px; width: 94px; height: 4px; transform: translateX(-50%); border-radius: 4px; background: rgba(255,255,255,.7); }
.gb-fly-icons { position: absolute; inset: 0; z-index: 5; }
.gb-fly-icon {
  position: absolute; left: 50%; top: 50%; width: 92px; opacity: 0; will-change: transform,opacity;
  filter: drop-shadow(0 18px 25px rgba(0,0,0,.52)) drop-shadow(0 0 14px rgba(255,222,89,.14));
}
.gb-fly-icon::before { content: ""; position: absolute; z-index: -1; left: -130px; top: 48%; width: 135px; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,222,89,.65)); transform-origin: right; }
.gb-fly-icon img { width: 92px; border-radius: 24px; border: 1px solid rgba(255,222,89,.32); background: #0b0d0a; }
.gb-fly-icon span { display: block; width: max-content; max-width: 160px; margin: 8px auto 0; padding: 4px 9px; border: 1px solid rgba(255,222,89,.2); background: rgba(5,6,4,.8); color: rgba(248,248,241,.72); font-family: var(--gb-mono); font-size: 9px; letter-spacing: .08em; }
.gb-motion-rail { position: absolute; z-index: 10; left: 24px; top: 50%; display: grid; gap: 16px; transform: translateY(-50%); }
.gb-motion-rail::before { content: "00 INTRO\A 01 EXPAND\A 02 BUILD"; white-space: pre; position: absolute; left: 24px; top: -10px; color: rgba(248,248,241,.36); font-family: var(--gb-mono); font-size: 9px; line-height: 4.75; letter-spacing: .15em; }
.gb-motion-rail span { width: 6px; height: 6px; border: 1px solid rgba(255,222,89,.45); border-radius: 50%; transition: background .25s, box-shadow .25s, transform .25s; }
.gb-motion-rail span.is-active { background: var(--gb-yellow); box-shadow: 0 0 16px rgba(255,222,89,.75); transform: scale(1.4); }
.gb-motion-scroll { position: absolute; z-index: 8; left: max(48px, calc((100vw - var(--gb-container))/2)); bottom: 28px; display: flex; align-items: center; gap: 14px; color: var(--gb-yellow); font-family: var(--gb-mono); font-size: 9px; letter-spacing: .24em; }
.gb-motion-scroll i { position: relative; width: 56px; height: 1px; background: rgba(255,222,89,.24); overflow: hidden; }
.gb-motion-scroll i::after { content: ""; position: absolute; inset: 0; background: var(--gb-yellow); transform: translateX(-100%); animation: gb-scroll-line 1.8s ease-in-out infinite; }
@keyframes gb-scroll-line { 60%,100% { transform: translateX(100%); } }
.gb-motion-toggle {
  position: absolute; z-index: 12; right: 24px; bottom: 24px; padding: 8px 13px;
  border: 1px solid rgba(255,222,89,.28); background: rgba(5,6,4,.72); color: rgba(248,248,241,.64);
  font-family: var(--gb-mono); font-size: 9px; letter-spacing: .08em; cursor: pointer;
}
.gb-motion-toggle:hover, .gb-motion-toggle:focus-visible { color: var(--gb-yellow); border-color: var(--gb-yellow); }

/* Marquee */
.gb-brand-strip { overflow: hidden; border-block: 1px solid rgba(255,222,89,.22); background: var(--gb-yellow); color: var(--gb-black); }
.gb-brand-marquee { width: max-content; display: flex; align-items: center; gap: 22px; padding: 15px 0; animation: gb-marquee 25s linear infinite; }
.gb-brand-marquee span { font-family: var(--gb-mono); font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.gb-brand-marquee i { width: 6px; height: 6px; background: var(--gb-black); transform: rotate(45deg); }
@keyframes gb-marquee { to { transform: translateX(-35%); } }

/* Shared content */
.gb-section, .gb-content { position: relative; padding: 112px 0; background: rgba(7,8,6,.96); }
.gb-section::before, .gb-content::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255,222,89,.025) 50%, transparent); }
.gb-section--white, .gb-section--soft { background: var(--gb-black-2); color: var(--gb-white); }
.gb-section--soft { background: linear-gradient(135deg, #10120e, #090a08); }
.gb-intro-section { background: linear-gradient(180deg, #0d0f0c, #070806); }
.gb-intro-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 100px; align-items: start; }
.gb-intro-copy { border-left: 1px solid rgba(255,222,89,.3); padding-left: 40px; color: rgba(248,248,241,.68); font-size: 18px; }
.gb-intro-copy p:first-child { margin-top: 0; }
.gb-section-title { margin: 0; color: var(--gb-white); font-size: clamp(36px, 4.3vw, 68px); line-height: 1.22; letter-spacing: -.04em; }
.gb-section-lead { max-width: 720px; margin: 24px 0 0; color: rgba(248,248,241,.62); font-size: 17px; }
.gb-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 58px; }
.gb-section-head__copy { max-width: 820px; }
.gb-stats-inner { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 78px; border: 1px solid rgba(255,222,89,.22); background: linear-gradient(90deg, rgba(255,222,89,.045), rgba(255,255,255,.015)); }
.gb-stat { min-height: 150px; padding: 30px; border-right: 1px solid rgba(255,222,89,.15); display: flex; flex-direction: column; justify-content: center; }
.gb-stat:last-child { border-right: 0; }
.gb-stat strong { color: var(--gb-yellow); font-family: var(--gb-mono); font-size: clamp(24px,2.6vw,42px); line-height: 1; letter-spacing: -.04em; text-shadow: 0 0 20px rgba(255,222,89,.16); }
.gb-stat span { margin-top: 12px; color: rgba(248,248,241,.52); font-size: 12px; letter-spacing: .08em; }

.gb-service-stack { border-top: 1px solid rgba(255,222,89,.22); }
.gb-service-row { display: grid; grid-template-columns: 70px 96px 1fr 60px; gap: 28px; align-items: center; min-height: 190px; padding: 28px 20px; border-bottom: 1px solid rgba(255,222,89,.18); transition: background .3s ease, transform .3s ease; }
.gb-service-row:hover { background: rgba(255,222,89,.035); transform: translateX(6px); }
.gb-service-row__number { color: var(--gb-yellow); font-family: var(--gb-mono); font-size: 12px; letter-spacing: .16em; }
.gb-service-row__icon { width: 78px; height: 78px; padding: 10px; border: 1px solid rgba(255,222,89,.22); background: #0b0c0a; box-shadow: inset 0 0 28px rgba(255,222,89,.04); }
.gb-service-row__icon img { width: 100%; height: 100%; object-fit: contain; }
.gb-service-row__body h3 { margin: 0 0 8px; font-size: 28px; }
.gb-service-row__body p { margin: 0; color: rgba(248,248,241,.58); }
.gb-service-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.gb-service-tags span, .gb-chip { display: inline-flex; padding: 4px 10px; border: 1px solid rgba(255,222,89,.22); color: rgba(248,248,241,.66); font-family: var(--gb-mono); font-size: 10px; letter-spacing: .06em; }
.gb-service-row__link { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(255,222,89,.28); color: var(--gb-yellow); }
.gb-service-row__link svg { width: 20px; }

.gb-works-motion { background: #0c0e0b; overflow: hidden; }
.gb-work-track { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.gb-work-card, .gb-post-card, .gb-card, .gb-price-card, .gb-app-feature {
  position: relative; overflow: hidden; border: 1px solid rgba(255,222,89,.2); background: linear-gradient(145deg, rgba(24,26,21,.9), rgba(11,12,10,.95)); box-shadow: var(--gb-shadow);
}
.gb-work-card::after, .gb-post-card::after, .gb-card::after, .gb-price-card::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 42px; height: 1px; background: var(--gb-yellow); box-shadow: var(--gb-glow);
}
.gb-work-card__media, .gb-post-card__media { display: block; aspect-ratio: 16/10; overflow: hidden; border-bottom: 1px solid rgba(255,222,89,.16); background: #090a08; }
.gb-work-card__media img, .gb-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease, filter .55s ease; filter: saturate(.8) contrast(1.02); }
.gb-work-card:hover .gb-work-card__media img, .gb-post-card:hover .gb-post-card__media img { transform: scale(1.035); filter: saturate(1) contrast(1.06); }
.gb-work-card__badge { position: absolute; top: 14px; right: 14px; padding: 5px 9px; background: var(--gb-yellow); color: var(--gb-black); font-size: 10px; font-weight: 800; }
.gb-work-card__body, .gb-post-card__body { padding: 26px; }
.gb-work-card__category, .gb-post-card__date { color: var(--gb-yellow); font-family: var(--gb-mono); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.gb-work-card h2, .gb-work-card h3, .gb-post-card h2 { margin: 10px 0; font-size: 23px; line-height: 1.5; }
.gb-work-card p, .gb-post-card p { color: rgba(248,248,241,.56); margin-bottom: 0; }
.gb-work-card__meta { margin-top: 18px; }


/* App directory */
.gb-app-directory-hero .gb-directory-summary { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.gb-directory-summary span { display: inline-flex; align-items: center; min-height: 38px; padding: 7px 13px; border: 1px solid rgba(255,222,89,.25); background: rgba(7,8,6,.48); color: rgba(248,248,241,.58); font-family: var(--gb-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.gb-directory-summary strong { margin-right: 7px; color: var(--gb-yellow); font-size: 16px; }
.gb-app-directory { background: #090a08; }
.gb-app-toolbar { margin-bottom: 42px; padding: 30px; border: 1px solid rgba(255,222,89,.24); background: linear-gradient(135deg,rgba(255,222,89,.045),rgba(255,255,255,.012)); box-shadow: inset 0 0 70px rgba(255,222,89,.025); }
.gb-app-toolbar__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.gb-app-toolbar h2 { margin: 4px 0 0; font-size: clamp(28px,3vw,44px); line-height: 1.25; }
.gb-app-search { position: relative; width: min(100%, 400px); }
.gb-app-search svg { position: absolute; left: 17px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); fill: none; stroke: var(--gb-yellow); stroke-width: 1.6; pointer-events: none; }
.gb-app-search input { width: 100%; min-height: 52px; padding: 11px 18px 11px 48px; border: 1px solid rgba(255,222,89,.26); border-radius: 0; outline: 0; background: rgba(3,4,3,.72); color: var(--gb-white); }
.gb-app-search input::placeholder { color: rgba(248,248,241,.35); }
.gb-app-search input:focus { border-color: var(--gb-yellow); box-shadow: 0 0 0 2px rgba(255,222,89,.08), var(--gb-glow); }
.gb-app-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.gb-app-filters button { min-height: 38px; padding: 7px 12px; border: 1px solid rgba(255,222,89,.2); background: rgba(7,8,6,.68); color: rgba(248,248,241,.6); cursor: pointer; font-family: var(--gb-mono); font-size: 10px; letter-spacing: .05em; transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.gb-app-filters button span { margin-left: 5px; color: rgba(248,248,241,.3); }
.gb-app-filters button:hover, .gb-app-filters button:focus-visible { color: var(--gb-yellow); border-color: rgba(255,222,89,.55); }
.gb-app-filters button.is-active { border-color: var(--gb-yellow); background: var(--gb-yellow); color: var(--gb-black); box-shadow: 0 0 26px rgba(255,222,89,.12); }
.gb-app-filters button.is-active span { color: rgba(7,8,6,.55); }
.gb-app-toolbar__status { margin-top: 20px; color: rgba(248,248,241,.42); font-family: var(--gb-mono); font-size: 10px; letter-spacing: .08em; }
.gb-app-toolbar__status span { color: var(--gb-yellow); }
.gb-app-directory-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.gb-app-directory-card { position: relative; overflow: hidden; border: 1px solid rgba(255,222,89,.2); background: linear-gradient(145deg,rgba(24,26,21,.92),rgba(9,10,8,.98)); box-shadow: var(--gb-shadow); transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.gb-app-directory-card:hover { transform: translateY(-5px); border-color: rgba(255,222,89,.48); box-shadow: 0 28px 90px rgba(0,0,0,.48), 0 0 32px rgba(255,222,89,.06); }
.gb-app-directory-card[hidden] { display: none !important; }
.gb-app-directory-card::after { content: ""; position: absolute; left: 0; bottom: 0; width: 48px; height: 1px; background: var(--gb-yellow); box-shadow: var(--gb-glow); }
.gb-app-directory-card__media { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; border-bottom: 1px solid rgba(255,222,89,.16); background: #070806; }
.gb-app-directory-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 55%,rgba(7,8,6,.58)); pointer-events: none; }
.gb-app-directory-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.03); transition: transform .55s ease, filter .55s ease; }
.gb-app-directory-card:hover .gb-app-directory-card__media img { transform: scale(1.035); filter: saturate(1) contrast(1.08); }
.gb-app-directory-card__index { position: absolute; left: 14px; bottom: 12px; z-index: 2; color: var(--gb-yellow); font-family: var(--gb-mono); font-size: 12px; letter-spacing: .15em; }
.gb-app-directory-card__body { padding: 26px; }
.gb-app-directory-card__eyebrow { color: var(--gb-yellow); font-family: var(--gb-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.gb-app-directory-card h2 { margin: 10px 0 9px; font-size: 23px; line-height: 1.45; }
.gb-app-directory-card h2 a:hover { color: var(--gb-yellow); }
.gb-app-directory-card p { margin: 0; min-height: 4.9em; color: rgba(248,248,241,.56); font-size: 14px; }
.gb-app-directory-card__features { display: grid; gap: 5px; min-height: 82px; margin: 20px 0 0; padding: 16px 0 0; border-top: 1px solid rgba(255,222,89,.12); list-style: none; }
.gb-app-directory-card__features li { position: relative; padding-left: 16px; color: rgba(248,248,241,.5); font-size: 12px; }
.gb-app-directory-card__features li::before { content: "+"; position: absolute; left: 0; color: var(--gb-yellow); font-family: var(--gb-mono); }
.gb-app-directory-card__footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-top: 22px; }
.gb-app-directory-card__footer .gb-chip { max-width: 60%; }
.gb-app-directory-card__footer > a { display: inline-flex; align-items: center; gap: 7px; color: var(--gb-yellow); font-size: 11px; font-weight: 700; white-space: nowrap; }
.gb-app-directory-card__footer > a svg { width: 16px; transition: transform .2s ease; }
.gb-app-directory-card__footer > a:hover svg { transform: translateX(4px); }
.gb-app-no-results { padding: 72px 30px; border: 1px solid rgba(255,222,89,.2); text-align: center; background: rgba(255,222,89,.025); }
.gb-app-no-results[hidden] { display: none !important; }
.gb-app-no-results h2 { margin: 8px 0 12px; font-size: clamp(28px,4vw,46px); }
.gb-app-no-results p:not(.gb-kicker) { margin: 0 0 28px; color: rgba(248,248,241,.55); }

.gb-process-motion { background: #080907; }
.gb-process-motion__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 92px; }
.gb-process-motion__lead { position: sticky; top: 145px; align-self: start; }
.gb-process-list { counter-reset: process; }
.gb-process-step { display: grid; grid-template-columns: 86px 1fr; gap: 26px; padding: 34px 0; border-bottom: 1px solid rgba(255,222,89,.17); }
.gb-process-step:first-child { border-top: 1px solid rgba(255,222,89,.17); }
.gb-process-step > span { color: var(--gb-yellow); font-family: var(--gb-mono); font-size: 13px; letter-spacing: .14em; }
.gb-process-step h3 { margin: 0 0 8px; font-size: 28px; }
.gb-process-step p { margin: 0; color: rgba(248,248,241,.54); }

.gb-final-cta { background: var(--gb-yellow); color: var(--gb-black); }
.gb-final-cta::before { background: linear-gradient(90deg, transparent, rgba(0,0,0,.045), transparent); }
.gb-final-cta__inner { display: grid; grid-template-columns: 120px 1fr auto; gap: 46px; align-items: center; }
.gb-final-cta__inner > img { width: 110px; filter: brightness(0); }
.gb-final-cta .gb-kicker, .gb-final-cta h2, .gb-final-cta p { color: var(--gb-black); }
.gb-final-cta h2 { margin: 0 0 12px; font-size: clamp(34px,4vw,58px); line-height: 1.25; }
.gb-final-cta p { margin: 0; max-width: 680px; }
.gb-final-cta .gb-kicker::before { background: var(--gb-black); }
.gb-final-cta .gb-button { background: var(--gb-black); color: var(--gb-yellow); border-color: var(--gb-black); }

/* Page hero and lower pages */
.gb-page-hero {
  position: relative; overflow: hidden; padding: calc(var(--gb-header-h) + 100px) 0 92px;
  background:
    radial-gradient(circle at 78% 30%, rgba(255,222,89,.1), transparent 28%),
    linear-gradient(135deg,#080907,#10120e 60%,#070806);
  border-bottom: 1px solid rgba(255,222,89,.2);
}
.gb-page-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,222,89,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,222,89,.025) 1px, transparent 1px); background-size: 46px 46px; }
.gb-page-hero::after { content: ""; position: absolute; right: -100px; top: 90px; width: 420px; height: 420px; border: 1px solid rgba(255,222,89,.1); border-radius: 50%; box-shadow: 0 0 70px rgba(255,222,89,.05), inset 0 0 70px rgba(255,222,89,.03); }
.gb-page-hero .gb-container, .gb-page-hero .gb-narrow { position: relative; z-index: 2; }
.gb-page-hero h1 { margin: 10px 0 18px; font-size: clamp(52px,7vw,102px); line-height: 1.04; letter-spacing: -.055em; }
.gb-page-hero p:not(.gb-kicker) { max-width: 760px; margin: 0; color: rgba(248,248,241,.64); font-size: 17px; }
.gb-breadcrumbs { margin-bottom: 42px; color: rgba(248,248,241,.38); font-family: var(--gb-mono); font-size: 10px; letter-spacing: .08em; }
.gb-breadcrumbs a { color: var(--gb-yellow); }
.gb-grid { display: grid; gap: 24px; }
.gb-grid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.gb-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.gb-card { padding: 36px; }
.gb-card h3 { margin-top: 0; font-size: 27px; }
.gb-feature-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 24px; padding: 0; list-style: none; }
.gb-feature-list li { position: relative; padding: 10px 0 10px 24px; color: rgba(248,248,241,.72); border-bottom: 1px solid rgba(255,222,89,.1); }
.gb-feature-list li::before { content: "+"; position: absolute; left: 0; color: var(--gb-yellow); font-family: var(--gb-mono); }
.gb-service-detail { display: grid; grid-template-columns: 120px 1fr; gap: 52px; padding: 58px 0; border-bottom: 1px solid rgba(255,222,89,.18); }
.gb-service-detail:first-child { border-top: 1px solid rgba(255,222,89,.18); }
.gb-service-detail__icon { width: 100px; height: 100px; padding: 18px; border: 1px solid rgba(255,222,89,.25); background: #0c0e0b; }
.gb-service-detail h2 { margin: 0 0 12px; font-size: 38px; }
.gb-service-detail p { color: rgba(248,248,241,.62); }
.gb-process { counter-reset: item; border-top: 1px solid rgba(255,222,89,.2); }
.gb-process-item { position: relative; padding: 28px 0 28px 74px; border-bottom: 1px solid rgba(255,222,89,.16); }
.gb-process-item::before { counter-increment: item; content: "0" counter(item); position: absolute; left: 0; top: 31px; color: var(--gb-yellow); font-family: var(--gb-mono); font-size: 12px; }
.gb-process-item h3 { margin: 0 0 6px; font-size: 24px; }
.gb-process-item p { margin: 0; color: rgba(248,248,241,.56); }
.gb-price-card { padding: 36px; }
.gb-price-card--featured { border-color: rgba(255,222,89,.6); box-shadow: 0 0 45px rgba(255,222,89,.09); }
.gb-price-label { color: var(--gb-yellow); font-family: var(--gb-mono); font-size: 10px; letter-spacing: .16em; }
.gb-price-card h3 { margin: 12px 0; font-size: 26px; }
.gb-price { margin: 10px 0 18px; color: var(--gb-yellow); font-size: 24px; font-weight: 800; }
.gb-price-card p, .gb-price-card li { color: rgba(248,248,241,.58); }
.gb-price-card ul { padding-left: 20px; }
.gb-note { padding: 18px 22px; border-left: 2px solid var(--gb-yellow); background: rgba(255,222,89,.045); color: rgba(248,248,241,.6); }
.gb-company-table { width: 100%; border-collapse: collapse; border-top: 1px solid rgba(255,222,89,.25); }
.gb-company-table th, .gb-company-table td { padding: 22px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(255,222,89,.15); }
.gb-company-table th { width: 180px; color: var(--gb-yellow); font-family: var(--gb-mono); font-size: 11px; letter-spacing: .08em; }
.gb-company-table td { color: rgba(248,248,241,.7); }
.gb-company-table a { color: var(--gb-yellow); }
.gb-cta { border: 1px solid rgba(255,222,89,.3); background: linear-gradient(120deg,rgba(255,222,89,.055),rgba(255,255,255,.012)); box-shadow: inset 0 0 50px rgba(255,222,89,.025); }
.gb-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 54px; }
.gb-cta h2 { margin: 0 0 8px; font-size: 34px; }
.gb-cta p { margin: 0; color: rgba(248,248,241,.56); }
.gb-cta-actions { flex: 0 0 auto; }
.gb-empty { grid-column: 1/-1; padding: 48px; border: 1px solid rgba(255,222,89,.2); color: rgba(248,248,241,.55); text-align: center; }
.gb-pagination { margin-top: 50px; }
.gb-pagination .nav-links { display: flex; justify-content: center; gap: 8px; }
.gb-pagination a, .gb-pagination span { min-width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,222,89,.22); }
.gb-pagination .current { background: var(--gb-yellow); color: var(--gb-black); }

.gb-app-hero { display: grid; grid-template-columns: 1fr .85fr; gap: 64px; align-items: center; }
.gb-app-hero__visual { border: 1px solid rgba(255,222,89,.25); padding: 16px; background: #0b0c0a; box-shadow: var(--gb-shadow); }
.gb-app-hero__visual img { width: 100%; }
.gb-app-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.gb-app-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 36px; }
.gb-app-feature { padding: 28px; }
.gb-app-feature strong { display: block; color: var(--gb-white); font-size: 19px; }
.gb-app-feature span { display: block; margin-top: 8px; color: rgba(248,248,241,.46); font-size: 13px; }

/* Contact Form 7 */
.gb-contact-wrap { display: grid; grid-template-columns: .76fr 1.24fr; gap: 30px; align-items: start; }
.gb-contact-panel, .gb-form-panel { border: 1px solid rgba(255,222,89,.22); background: linear-gradient(145deg,rgba(22,24,20,.92),rgba(10,11,9,.96)); padding: 38px; }
.gb-contact-panel { position: sticky; top: 120px; }
.gb-contact-panel h2, .gb-form-panel h2 { margin-top: 0; font-size: 30px; }
.gb-contact-panel p, .gb-contact-panel li { color: rgba(248,248,241,.58); }
.gb-contact-panel ul { padding-left: 20px; }
.gb-contact-item { padding: 18px 0; border-top: 1px solid rgba(255,222,89,.15); color: rgba(248,248,241,.72); }
.gb-contact-item small { display: block; color: var(--gb-yellow); font-family: var(--gb-mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.gb-contact-item a { color: var(--gb-yellow); }
.wpcf7-form { display: grid; gap: 20px; }
.wpcf7-form p { margin: 0; }
.wpcf7-form label { display: block; color: rgba(248,248,241,.78); font-size: 13px; font-weight: 700; letter-spacing: .04em; }
.wpcf7-form .gb-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"], .wpcf7-form input[type="url"], .wpcf7-form input[type="number"], .wpcf7-form select, .wpcf7-form textarea,
.gb-entry-content input[type="text"], .gb-entry-content input[type="email"], .gb-entry-content textarea {
  width: 100%; margin-top: 8px; padding: 14px 16px; border: 1px solid rgba(255,222,89,.22); border-radius: 0; outline: 0;
  background: rgba(4,5,4,.75); color: var(--gb-white); transition: border-color .2s, box-shadow .2s;
}
.wpcf7-form textarea { min-height: 190px; resize: vertical; }
.wpcf7-form input:focus, .wpcf7-form select:focus, .wpcf7-form textarea:focus { border-color: var(--gb-yellow); box-shadow: 0 0 0 3px rgba(255,222,89,.08); }
.wpcf7-form input[type="submit"] { min-height: 54px; padding: 12px 28px; border: 1px solid var(--gb-yellow); background: var(--gb-yellow); color: var(--gb-black); font-weight: 800; cursor: pointer; }
.wpcf7-spinner { background-color: var(--gb-yellow); }
.wpcf7-not-valid-tip { color: #ffcf7b; font-size: 12px; }
.wpcf7 form .wpcf7-response-output { margin: 12px 0 0; border-color: var(--gb-yellow); color: rgba(248,248,241,.72); }
.gb-cf7-guide { padding: 24px; border: 1px dashed rgba(255,222,89,.35); background: rgba(255,222,89,.04); }
.gb-cf7-guide code { color: var(--gb-yellow); }

/* Entry content */
.gb-entry-content { color: rgba(248,248,241,.72); }
.gb-entry-content h2 { margin: 2.2em 0 .7em; padding-bottom: 12px; border-bottom: 1px solid rgba(255,222,89,.22); color: var(--gb-white); font-size: 34px; }
.gb-entry-content h3 { margin: 1.8em 0 .6em; color: var(--gb-yellow); font-size: 25px; }
.gb-entry-content a { color: var(--gb-yellow); text-decoration: underline; text-underline-offset: 4px; }
.gb-entry-content blockquote { margin: 32px 0; padding: 22px 28px; border-left: 2px solid var(--gb-yellow); background: rgba(255,222,89,.04); }
.gb-entry-content table { width: 100%; border-collapse: collapse; }
.gb-entry-content th, .gb-entry-content td { padding: 12px; border: 1px solid rgba(255,222,89,.17); }
.gb-entry-content img { border: 1px solid rgba(255,222,89,.18); }

/* Footer */
.gb-site-footer { position: relative; padding: 76px 0 24px; background: #040503; border-top: 1px solid rgba(255,222,89,.24); }
.gb-site-footer::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,222,89,.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,222,89,.02) 1px, transparent 1px); background-size: 48px 48px; }
.gb-footer-main { position: relative; display: grid; grid-template-columns: 1.45fr repeat(3,1fr); gap: 50px; }
.gb-footer-brand p { max-width: 440px; color: rgba(248,248,241,.45); }
.gb-footer-logo { display: inline-flex; flex-direction: column; padding: 10px 22px 9px 14px; background: var(--gb-yellow); color: var(--gb-black); clip-path: polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%); }
.gb-footer-logo img { width: 200px; filter: none; }
.gb-footer-logo span { padding-left: 54px; color: var(--gb-black); font-family: var(--gb-mono); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.gb-footer-title { margin: 0 0 18px; color: var(--gb-yellow); font-family: var(--gb-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.gb-footer-menu { padding: 0; margin: 0; list-style: none; }
.gb-footer-menu li { margin: 9px 0; }
.gb-footer-menu a { color: rgba(248,248,241,.54); font-size: 13px; transition: color .2s; }
.gb-footer-menu a:hover { color: var(--gb-yellow); }
.gb-footer-bottom { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 60px; padding-top: 22px; border-top: 1px solid rgba(255,222,89,.12); color: rgba(248,248,241,.32); font-family: var(--gb-mono); font-size: 9px; letter-spacing: .06em; }
.gb-socials { display: flex; gap: 8px; }
.gb-socials a { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,222,89,.2); color: var(--gb-yellow); }

/* Reveal */
.gb-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.gb-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* Responsive */
@media (max-width: 1180px) {
  :root { --gb-header-h: 76px; }
  .gb-brand { min-width: 205px; min-height: 52px; padding-right: 18px; }
  .gb-brand__logo { width: 168px; }
  .gb-brand__tagline { padding-left: 44px; font-size: 7px; }
  .gb-primary-nav ul { gap: 16px; }
  .gb-primary-nav a { font-size: 12px; }
  .gb-header-cta { padding-inline: 15px; }
  .gb-motion-copy { left: 50px; width: 48vw; }
  .gb-device-scene { right: 20px; width: 48vw; }
  .gb-motion-stage h1, .gb-motion-stage h2 { font-size: clamp(50px,6.7vw,82px); }
}
@media (max-width: 980px) {
  .gb-menu-toggle { display: block; z-index: 3; }
  .gb-header-cta { display: none; }
  .gb-primary-nav { position: fixed; inset: var(--gb-header-h) 0 auto; margin: 0; padding: 26px 24px 34px; background: rgba(5,6,4,.98); border-bottom: 1px solid rgba(255,222,89,.25); transform: translateY(-130%); opacity: 0; pointer-events: none; transition: transform .3s ease, opacity .3s ease; }
  .gb-primary-nav.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .gb-primary-nav ul { display: grid; gap: 0; }
  .gb-primary-nav a { padding: 14px 4px; border-bottom: 1px solid rgba(255,222,89,.1); font-size: 14px; }
  .gb-primary-nav a::after { display: none; }
  .gb-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .gb-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .gb-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .gb-motion-hero { height: 340vh; }
  .gb-motion-sticky { min-height: 720px; }
  .gb-motion-copy { left: 28px; right: 28px; top: 23%; width: auto; transform: none; text-align: center; }
  .gb-motion-stage h1, .gb-motion-stage h2 { font-size: clamp(44px,9vw,78px); }
  .gb-motion-stage > p:last-of-type { margin-inline: auto; max-width: 680px; }
  .gb-hero-actions { justify-content: center; }
  .gb-device-scene { left: 50%; right: auto; top: 69%; width: 620px; height: 470px; transform: translate(-50%,-50%); }
  .gb-phone { width: 190px; height: 390px; border-radius: 36px; padding: 8px; }
  .gb-phone__screen { border-radius: 29px; }
  .gb-phone__speaker { top: 13px; width: 66px; height: 18px; }
  .gb-phone__brand { width: 95px; }
  .gb-phone__apps { left: 18px; right: 18px; bottom: 34px; gap: 6px; }
  .gb-device-scene::before { width: 390px; height: 390px; }
  .gb-device-scene::after { width: 310px; height: 310px; }
  .gb-fly-icon { width: 66px; }
  .gb-fly-icon img { width: 66px; border-radius: 17px; }
  .gb-fly-icon span { display: none; }
  .gb-motion-rail { display: none; }
  .gb-intro-grid, .gb-process-motion__grid, .gb-contact-wrap, .gb-app-hero { grid-template-columns: 1fr; gap: 50px; }
  .gb-process-motion__lead, .gb-contact-panel { position: static; }
  .gb-work-track, .gb-grid--3, .gb-app-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gb-app-toolbar__top { align-items: stretch; flex-direction: column; }
  .gb-app-search { width: 100%; }
  .gb-stats-inner { grid-template-columns: repeat(2,1fr); }
  .gb-stat:nth-child(2) { border-right: 0; }
  .gb-stat:nth-child(-n+2) { border-bottom: 1px solid rgba(255,222,89,.15); }
  .gb-final-cta__inner { grid-template-columns: 90px 1fr; }
  .gb-final-cta__inner .gb-button { grid-column: 2; justify-self: start; }
  .gb-footer-main { grid-template-columns: 1.5fr 1fr 1fr; }
  .gb-footer-main > div:last-child { grid-column: 2/4; }
}
@media (max-width: 680px) {
  body.admin-bar .gb-site-header { top: 46px; }
  .gb-container, .gb-narrow { width: min(calc(100% - 32px), var(--gb-container)); }
  .gb-brand { min-width: 178px; min-height: 48px; padding: 7px 16px 6px 11px; }
  .gb-brand__logo { width: 145px; }
  .gb-brand__tagline { padding-left: 38px; font-size: 6px; letter-spacing: .1em; }
  .gb-motion-hero { height: 320vh; min-height: 1900px; }
  .gb-motion-sticky { min-height: 680px; }
  .gb-motion-copy { top: 19%; left: 18px; right: 18px; }
  .gb-motion-eyebrow { margin-bottom: 14px; font-size: 9px; }
  .gb-motion-stage h1, .gb-motion-stage h2 { margin-bottom: 18px; font-size: clamp(39px,13vw,62px); line-height: 1.02; }
  .gb-motion-stage > p:last-of-type { font-size: 13px; line-height: 1.8; }
  .gb-hero-actions { gap: 8px; margin-top: 22px; }
  .gb-hero-actions .gb-button { min-height: 46px; padding: 10px 14px; font-size: 12px; }
  .gb-device-scene { top: 69%; width: 420px; height: 360px; }
  .gb-device-scene::before { width: 310px; height: 310px; }
  .gb-device-scene::after { width: 245px; height: 245px; }
  .gb-phone { width: 158px; height: 326px; }
  .gb-phone__label { font-size: 7px; }
  .gb-phone__brand { width: 78px; }
  .gb-fly-icon { width: 52px; }
  .gb-fly-icon img { width: 52px; border-radius: 14px; }
  .gb-motion-scroll { left: 18px; bottom: 18px; }
  .gb-motion-toggle { right: 14px; bottom: 14px; font-size: 8px; }
  .gb-section, .gb-content { padding: 76px 0; }
  .gb-section-head { display: block; margin-bottom: 36px; }
  .gb-section-head .gb-button { margin-top: 26px; }
  .gb-section-title { font-size: clamp(34px,11vw,52px); }
  .gb-intro-copy { padding-left: 20px; font-size: 15px; }
  .gb-stats-inner, .gb-work-track, .gb-grid--2, .gb-grid--3, .gb-app-feature-grid, .gb-app-directory-grid { grid-template-columns: 1fr; }
  .gb-app-toolbar { padding: 24px 18px; }
  .gb-app-directory-card p, .gb-app-directory-card__features { min-height: 0; }
  .gb-app-directory-card__footer { align-items: flex-start; flex-direction: column; }
  .gb-app-directory-card__footer .gb-chip { max-width: 100%; }
  .gb-stat { border-right: 0; border-bottom: 1px solid rgba(255,222,89,.15); min-height: 115px; }
  .gb-stat:last-child { border-bottom: 0; }
  .gb-service-row { grid-template-columns: 42px 66px 1fr; gap: 12px; padding-inline: 0; }
  .gb-service-row__icon { width: 58px; height: 58px; padding: 7px; }
  .gb-service-row__link { display: none; }
  .gb-service-row__body h3 { font-size: 20px; }
  .gb-service-tags { grid-column: 1/-1; }
  .gb-process-step { grid-template-columns: 50px 1fr; }
  .gb-final-cta__inner { grid-template-columns: 1fr; gap: 25px; }
  .gb-final-cta__inner > img { width: 78px; }
  .gb-final-cta__inner .gb-button { grid-column: auto; }
  .gb-page-hero { padding: calc(var(--gb-header-h) + 72px) 0 68px; }
  .gb-page-hero h1 { font-size: clamp(46px,14vw,72px); }
  .gb-feature-list { grid-template-columns: 1fr; }
  .gb-service-detail { grid-template-columns: 1fr; gap: 22px; padding: 42px 0; }
  .gb-service-detail h2 { font-size: 29px; }
  .gb-company-table, .gb-company-table tbody, .gb-company-table tr, .gb-company-table th, .gb-company-table td { display: block; width: 100%; }
  .gb-company-table th { padding-bottom: 4px; border-bottom: 0; }
  .gb-company-table td { padding-top: 4px; }
  .gb-cta-inner { display: block; padding: 34px 24px; }
  .gb-cta-actions { margin-top: 24px; }
  .gb-contact-panel, .gb-form-panel { padding: 26px 20px; }
  .wpcf7-form .gb-form-grid { grid-template-columns: 1fr; }
  .gb-footer-main { grid-template-columns: 1fr 1fr; gap: 36px 24px; }
  .gb-footer-brand { grid-column: 1/-1; }
  .gb-footer-main > div:last-child { grid-column: auto; }
  .gb-footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .gb-motion-hero { height: auto; min-height: 880px; }
  .gb-motion-sticky { position: relative; height: 880px; }
  .gb-motion-stage { opacity: 0; }
  .gb-motion-stage--final { opacity: 1; transform: none; }
  .gb-fly-icon { opacity: 1; }
  .gb-reveal { opacity: 1; transform: none; }
}


/* v3.2.0: detailed sample app pages */
.gb-app-case-hero { padding-bottom: 108px; }
.gb-app-case-actions { justify-content: flex-start; }
.gb-sample-disclaimer { max-width: 690px; margin: 22px 0 0; padding-left: 14px; border-left: 2px solid rgba(255,222,89,.45); color: rgba(248,248,241,.5) !important; font-family: var(--gb-mono); font-size: 10px !important; line-height: 1.7 !important; letter-spacing: .04em; }
.gb-chip--yellow { background: var(--gb-yellow); color: var(--gb-black); border-color: var(--gb-yellow); }
.gb-app-overview { position: relative; overflow: hidden; }
.gb-app-overview::before { content:""; position:absolute; width:520px; height:520px; right:-220px; top:80px; border:1px solid rgba(255,222,89,.1); border-radius:50%; box-shadow:0 0 0 70px rgba(255,222,89,.02),0 0 0 140px rgba(255,222,89,.012); }
.gb-app-overview-grid { position:relative; display:grid; grid-template-columns:.8fr 1.1fr 1.1fr; gap:18px; }
.gb-case-panel { min-height:360px; padding:30px; border:1px solid rgba(255,222,89,.18); background:linear-gradient(145deg,rgba(20,22,18,.94),rgba(8,9,7,.9)); box-shadow:inset 0 1px rgba(255,255,255,.025); }
.gb-case-panel > span { display:block; margin-bottom:54px; color:var(--gb-yellow); font-family:var(--gb-mono); font-size:9px; letter-spacing:.18em; }
.gb-case-panel h3 { margin:0 0 22px; color:var(--gb-white); font-size:27px; }
.gb-case-panel ul { list-style:none; margin:0; padding:0; }
.gb-case-panel li { position:relative; margin:0 0 14px; padding-left:18px; color:rgba(248,248,241,.7); }
.gb-case-panel li::before { content:""; position:absolute; left:0; top:.67em; width:7px; height:1px; background:var(--gb-yellow); box-shadow:0 0 8px rgba(255,222,89,.65); }
.gb-case-copy p { color:rgba(248,248,241,.64); line-height:1.9; }
.gb-case-panel--accent { background:var(--gb-yellow); border-color:var(--gb-yellow); }
.gb-case-panel--accent > span,.gb-case-panel--accent h3,.gb-case-panel--accent .gb-case-copy p { color:var(--gb-black); }
.gb-ui-map { border-block:1px solid rgba(255,222,89,.12); }
.gb-ui-map-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.gb-ui-map-panel { border:1px solid rgba(255,222,89,.22); background:#0b0d0a; box-shadow:var(--gb-shadow); }
.gb-ui-map-panel header { position:relative; padding:28px 30px 25px; border-bottom:1px solid rgba(255,222,89,.18); background:linear-gradient(90deg,rgba(255,222,89,.08),transparent); }
.gb-ui-map-panel header::after { content:""; position:absolute; right:24px; top:22px; width:42px; height:42px; border:1px solid rgba(255,222,89,.3); transform:rotate(45deg); }
.gb-ui-map-panel header span { color:var(--gb-yellow); font-family:var(--gb-mono); font-size:9px; letter-spacing:.18em; }
.gb-ui-map-panel h3 { margin:8px 0 0; color:var(--gb-white); font-size:30px; }
.gb-ui-map-panel ol { list-style:none; margin:0; padding:12px 30px 28px; }
.gb-ui-map-panel li { display:grid; grid-template-columns:44px 1fr; align-items:start; gap:14px; padding:17px 0; border-bottom:1px solid rgba(255,255,255,.07); }
.gb-ui-map-panel li:last-child { border-bottom:0; }
.gb-ui-map-panel li b { color:var(--gb-yellow); font-family:var(--gb-mono); font-size:11px; }
.gb-ui-map-panel li span { color:rgba(248,248,241,.72); line-height:1.65; }
.gb-ui-map-panel--admin { background:linear-gradient(145deg,#14160f,#080907); }
.gb-app-feature small { display:block; margin-bottom:28px; color:var(--gb-yellow); font-family:var(--gb-mono); font-size:9px; letter-spacing:.15em; }
.gb-app-plan-grid { display:grid; grid-template-columns:.9fr 1fr 1fr; gap:22px; align-items:stretch; }
.gb-app-plan-lead { padding:34px 34px 38px; border-left:3px solid var(--gb-yellow); background:rgba(255,222,89,.04); }
.gb-app-plan-lead h2 { margin:0 0 18px; color:var(--gb-white); font-size:clamp(34px,4vw,56px); line-height:1.14; }
.gb-app-plan-lead > p { color:rgba(248,248,241,.55); line-height:1.85; }
.gb-duration { margin-top:46px; padding-top:22px; border-top:1px solid rgba(255,222,89,.2); }
.gb-duration small { display:block; color:var(--gb-yellow); font-family:var(--gb-mono); font-size:9px; letter-spacing:.16em; }
.gb-duration strong { display:block; margin-top:10px; color:var(--gb-white); font-size:22px; line-height:1.55; }
.gb-plan-list { padding:32px; border:1px solid rgba(255,222,89,.18); background:#0d0f0c; }
.gb-plan-list h3 { margin:0 0 24px; color:var(--gb-white); font-size:26px; }
.gb-plan-list ul { list-style:none; margin:0; padding:0; }
.gb-plan-list li { display:flex; gap:12px; align-items:flex-start; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.06); color:rgba(248,248,241,.7); }
.gb-plan-list li:last-child { border-bottom:0; }
.gb-plan-list li svg { flex:0 0 19px; width:19px; color:var(--gb-yellow); }
.gb-plan-list--yellow { background:var(--gb-yellow); border-color:var(--gb-yellow); }
.gb-plan-list--yellow h3,.gb-plan-list--yellow li { color:var(--gb-black); }
.gb-plan-list--yellow li { border-color:rgba(7,8,6,.14); }
.gb-plan-list--yellow li svg { color:var(--gb-black); }
.gb-plan-note { margin:22px 0 0; color:rgba(7,8,6,.65); font-size:11px; line-height:1.7; }
.gb-contact-context { margin:18px 0 28px; padding:18px 20px; border:1px solid rgba(255,222,89,.35); background:rgba(255,222,89,.07); }
.gb-contact-context small { display:block; color:var(--gb-yellow); font-family:var(--gb-mono); font-size:8px; letter-spacing:.16em; }
.gb-contact-context strong { display:block; margin-top:7px; color:var(--gb-white); font-size:21px; }
.gb-contact-context span { display:block; margin-top:5px; color:rgba(248,248,241,.55); font-size:12px; }
.gb-related-apps { border-top:1px solid rgba(255,222,89,.12); }
@media (max-width:980px){.gb-app-overview-grid,.gb-app-plan-grid{grid-template-columns:1fr 1fr}.gb-case-panel:first-child,.gb-app-plan-lead{grid-column:1/-1}.gb-ui-map-grid{grid-template-columns:1fr}}
@media (max-width:680px){.gb-app-overview-grid,.gb-app-plan-grid{grid-template-columns:1fr}.gb-case-panel:first-child,.gb-app-plan-lead{grid-column:auto}.gb-case-panel{min-height:0;padding:24px}.gb-case-panel>span{margin-bottom:30px}.gb-ui-map-panel header,.gb-ui-map-panel ol{padding-left:20px;padding-right:20px}.gb-ui-map-panel h3{font-size:25px}.gb-app-case-actions{justify-content:center}.gb-sample-disclaimer{text-align:left}.gb-app-plan-lead,.gb-plan-list{padding:26px 22px}}


/* v3.3 Problem-first solution finder */
.gb-solutions-motion{position:relative;overflow:hidden;background:linear-gradient(180deg,#070806 0%,#0d0e0b 100%)}
.gb-solutions-motion:before,.gb-solutions-page:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,222,89,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,222,89,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent)}
.gb-solution-finder{position:relative;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:28px;margin-top:48px}
.gb-solution-options{display:grid;gap:10px;align-content:start}
.gb-solution-option{width:100%;display:grid;grid-template-columns:38px 48px minmax(0,1fr) 24px;gap:14px;align-items:center;text-align:left;padding:16px 18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025);color:#fff;cursor:pointer;transition:border-color .25s ease,background .25s ease,transform .25s ease;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.gb-solution-option:hover,.gb-solution-option:focus-visible{border-color:rgba(255,222,89,.72);background:rgba(255,222,89,.06);transform:translateX(4px)}
.gb-solution-option.is-active{border-color:#ffde59;background:linear-gradient(90deg,rgba(255,222,89,.13),rgba(255,222,89,.025));box-shadow:inset 3px 0 #ffde59,0 0 28px rgba(255,222,89,.08)}
.gb-solution-option__number{font:700 11px/1 var(--gb-font-mono,monospace);letter-spacing:.12em;color:#ffde59}
.gb-solution-option__icon{width:44px;height:44px;border:1px solid rgba(255,222,89,.2);background:#11120f;display:grid;place-items:center;border-radius:10px}.gb-solution-option__icon img{width:26px;height:26px}
.gb-solution-option__copy{display:grid;gap:4px}.gb-solution-option__copy strong{font-size:15px;line-height:1.45}.gb-solution-option__copy small{color:rgba(255,255,255,.56);font-size:12px;line-height:1.5}.gb-solution-option__arrow{color:#ffde59;font-size:18px;transition:transform .25s}.gb-solution-option.is-active .gb-solution-option__arrow{transform:translateX(3px)}
.gb-solution-results{position:relative;min-height:520px}
.gb-solution-panel{position:relative;height:100%;min-height:520px;padding:clamp(28px,4vw,58px);border:1px solid rgba(255,222,89,.32);background:radial-gradient(circle at 86% 14%,rgba(255,222,89,.13),transparent 33%),linear-gradient(145deg,#11120f,#080906 72%);clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px));overflow:hidden}
.gb-solution-panel:before{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border:1px solid rgba(255,222,89,.15);border-radius:50%;box-shadow:0 0 0 32px rgba(255,222,89,.025),0 0 0 64px rgba(255,222,89,.018)}
.gb-solution-panel[hidden]{display:none}.gb-solution-panel.is-active{animation:gbSolutionIn .36s ease both}@keyframes gbSolutionIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.gb-solution-panel h3{position:relative;max-width:700px;margin:22px 0 16px;font-size:clamp(28px,4vw,50px);line-height:1.22;letter-spacing:-.04em}.gb-solution-panel__description{position:relative;max-width:700px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.9}
.gb-solution-panel__features{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.gb-solution-panel__features span{padding:8px 12px;border:1px solid rgba(255,222,89,.22);background:rgba(255,222,89,.055);color:#f8f6e8;font-size:12px;letter-spacing:.03em}
.gb-solution-panel__recommend{position:relative;display:grid;gap:6px;margin:34px 0 26px;padding:20px 22px;border-left:3px solid #ffde59;background:rgba(255,255,255,.035)}.gb-solution-panel__recommend span{font:700 10px/1 var(--gb-font-mono,monospace);letter-spacing:.16em;text-transform:uppercase;color:#ffde59}.gb-solution-panel__recommend strong{font-size:21px}
.gb-solution-panel__actions{position:relative;display:flex;flex-wrap:wrap;gap:12px}
.gb-page-hero--solutions{background:radial-gradient(circle at 78% 28%,rgba(255,222,89,.16),transparent 28%),#070806}.gb-page-hero--solutions h1 span{color:#ffde59}.gb-solutions-page{position:relative;background:#090a07}
@media(max-width:980px){.gb-solution-finder{grid-template-columns:1fr}.gb-solution-options{grid-template-columns:repeat(2,minmax(0,1fr))}.gb-solution-results{min-height:auto}.gb-solution-panel{min-height:470px}}
@media(max-width:680px){.gb-solution-options{grid-template-columns:1fr}.gb-solution-option{grid-template-columns:30px 42px minmax(0,1fr) 20px;padding:14px}.gb-solution-option__copy small{display:none}.gb-solution-panel{min-height:0;padding:28px 22px}.gb-solution-panel h3{font-size:28px}.gb-solution-panel__actions{display:grid}.gb-solution-panel__actions .gb-button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.gb-solution-panel.is-active{animation:none}.gb-solution-option{transition:none}}


/* v3.4 App concept diagnosis */
.gb-diagnosis [hidden]{display:none!important}
.gb-page-hero--diagnosis{background:radial-gradient(circle at 78% 30%,rgba(255,222,89,.18),transparent 28%),linear-gradient(135deg,#070806,#10120d)}
.gb-page-hero--diagnosis h1 span{color:var(--gb-yellow)}
.gb-diagnosis-page{position:relative;overflow:hidden;background:#080906}
.gb-diagnosis-page:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(255,222,89,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,222,89,.035) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent)}
.gb-diagnosis{position:relative;border:1px solid rgba(255,222,89,.25);background:radial-gradient(circle at 92% 5%,rgba(255,222,89,.11),transparent 27%),#0b0d09;box-shadow:0 32px 100px rgba(0,0,0,.38);clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px))}
.gb-diagnosis:before,.gb-diagnosis:after{content:"";position:absolute;pointer-events:none}.gb-diagnosis:before{left:0;top:0;width:110px;height:3px;background:var(--gb-yellow);box-shadow:0 0 20px rgba(255,222,89,.5)}.gb-diagnosis:after{right:38px;top:38px;width:140px;height:140px;border:1px solid rgba(255,222,89,.1);border-radius:50%;box-shadow:0 0 0 22px rgba(255,222,89,.018),0 0 0 44px rgba(255,222,89,.012)}
.gb-diagnosis__top{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:40px;align-items:end;padding:clamp(28px,5vw,64px);border-bottom:1px solid rgba(255,222,89,.16)}
.gb-diagnosis__top h2{max-width:760px;margin:14px 0 0;font-size:clamp(30px,4vw,54px);line-height:1.2;letter-spacing:-.04em}.gb-diagnosis__privacy{margin:0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.1);color:rgba(248,248,241,.58);font-size:12px;line-height:1.75}
.gb-diagnosis__progress{display:grid;grid-template-columns:230px minmax(0,1fr);gap:36px;padding:30px clamp(28px,5vw,64px);border-bottom:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018)}
.gb-diagnosis__progress-meta{display:flex;justify-content:space-between;align-items:center;font-family:var(--gb-mono);font-size:10px;letter-spacing:.15em;color:var(--gb-yellow)}.gb-diagnosis__progress-meta strong{font-size:13px}.gb-diagnosis__progress-meta b{font-size:22px}
.gb-diagnosis__progress-track{grid-column:1;position:relative;height:2px;background:rgba(255,255,255,.12);overflow:hidden}.gb-diagnosis__progress-track span{display:block;width:14.285%;height:100%;background:var(--gb-yellow);box-shadow:0 0 16px rgba(255,222,89,.55);transition:width .35s ease}
.gb-diagnosis__progress ol{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;list-style:none;margin:0;padding:0}.gb-diagnosis__progress li{display:grid;gap:6px;align-content:start;color:rgba(248,248,241,.28);font-size:9px;line-height:1.35;transition:color .25s}.gb-diagnosis__progress li span{font:700 10px/1 var(--gb-mono);letter-spacing:.12em}.gb-diagnosis__progress li.is-active{color:var(--gb-yellow)}.gb-diagnosis__progress li.is-complete{color:rgba(248,248,241,.62)}
.gb-diagnosis__form{position:relative;padding:clamp(32px,5vw,68px)}
.gb-diagnosis-step{min-width:0;margin:0;padding:0;border:0}.gb-diagnosis-step[hidden]{display:none}.gb-diagnosis-step legend{display:grid;gap:14px;max-width:920px;padding:0;color:var(--gb-white);font-size:clamp(27px,3.6vw,48px);font-weight:800;line-height:1.24;letter-spacing:-.035em}.gb-diagnosis-step legend span{font:700 10px/1 var(--gb-mono);letter-spacing:.18em;color:var(--gb-yellow)}.gb-diagnosis-step__description{max-width:760px;margin:16px 0 32px;color:rgba(248,248,241,.6)}
.gb-diagnosis-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gb-diagnosis-options--checkbox{grid-template-columns:repeat(2,minmax(0,1fr))}
.gb-diagnosis-option{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:15px;align-items:start;min-height:104px;padding:22px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.025);cursor:pointer;transition:border-color .22s,background .22s,transform .22s;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.gb-diagnosis-option:hover{border-color:rgba(255,222,89,.5);background:rgba(255,222,89,.045);transform:translateY(-2px)}.gb-diagnosis-option:has(input:focus-visible){outline:2px solid var(--gb-yellow);outline-offset:3px}.gb-diagnosis-option:has(input:checked){border-color:var(--gb-yellow);background:linear-gradient(115deg,rgba(255,222,89,.13),rgba(255,222,89,.025));box-shadow:inset 3px 0 var(--gb-yellow),0 0 24px rgba(255,222,89,.07)}
.gb-diagnosis-option input{position:absolute;opacity:0;pointer-events:none}.gb-diagnosis-option__control{width:23px;height:23px;border:1px solid rgba(255,222,89,.44);display:grid;place-items:center}.gb-diagnosis-options--radio .gb-diagnosis-option__control{border-radius:50%}.gb-diagnosis-option__control:after{content:"";width:11px;height:11px;background:var(--gb-yellow);opacity:0;transform:scale(.4);transition:opacity .2s,transform .2s}.gb-diagnosis-options--radio .gb-diagnosis-option__control:after{border-radius:50%}.gb-diagnosis-option:has(input:checked) .gb-diagnosis-option__control:after{opacity:1;transform:scale(1)}
.gb-diagnosis-option strong{display:block;font-size:17px;line-height:1.45}.gb-diagnosis-option small{display:block;margin-top:7px;color:rgba(248,248,241,.5);font-size:12px;line-height:1.55}
.gb-diagnosis__error{min-height:26px;margin:18px 0 0;color:#ffcf70;font-size:12px}.gb-diagnosis__controls{display:flex;justify-content:space-between;gap:12px;margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.08)}.gb-diagnosis__controls [data-diagnosis-next]{margin-left:auto}
.gb-diagnosis-result{position:relative;padding:clamp(30px,5vw,72px);outline:0}.gb-diagnosis-result[hidden]{display:none}.gb-diagnosis-result>header{position:relative;max-width:900px;padding-right:130px}.gb-diagnosis-result>header h2{margin:18px 0 12px;color:var(--gb-yellow);font-size:clamp(36px,5.5vw,76px);line-height:1.08;letter-spacing:-.055em}.gb-diagnosis-result>header>p:last-child{max-width:760px;color:rgba(248,248,241,.7);font-size:16px}.gb-diagnosis-result__code{position:absolute;right:0;top:0;padding:10px 12px;border:1px solid rgba(255,222,89,.24);font:700 9px/1 var(--gb-mono);letter-spacing:.15em;color:var(--gb-yellow)}
.gb-diagnosis-result__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:44px}.gb-diagnosis-result__panel{min-height:220px;padding:28px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025)}.gb-diagnosis-result__panel>small,.gb-diagnosis-result__summary>small{font:700 9px/1 var(--gb-mono);letter-spacing:.16em;color:var(--gb-yellow)}.gb-diagnosis-result__panel h3{margin:14px 0 18px;font-size:21px}.gb-diagnosis-result__panel>strong{display:block;margin:14px 0;color:var(--gb-yellow);font-size:26px}.gb-diagnosis-result__panel>p{color:rgba(248,248,241,.55);font-size:12px;line-height:1.75}
.gb-diagnosis-result__chips{display:flex;flex-wrap:wrap;gap:8px}.gb-diagnosis-result__chips span{padding:8px 11px;border:1px solid rgba(255,222,89,.24);background:rgba(255,222,89,.06);font-size:12px}.gb-diagnosis-result__panel ol{list-style:none;margin:0;padding:0}.gb-diagnosis-result__panel li{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);color:rgba(248,248,241,.7);font-size:13px}.gb-diagnosis-result__panel li span{color:var(--gb-yellow);font-family:var(--gb-mono)}
.gb-diagnosis-result__summary{margin-top:12px;padding:24px 28px;border-left:3px solid var(--gb-yellow);background:rgba(255,222,89,.055)}.gb-diagnosis-result__summary p{margin:10px 0 0;color:rgba(248,248,241,.64);font-size:12px;line-height:1.75}.gb-diagnosis-result__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px}.gb-diagnosis-reset{margin-left:auto;border:0;border-bottom:1px solid rgba(255,222,89,.5);background:none;color:var(--gb-yellow);font-size:12px;cursor:pointer}.gb-diagnosis-result__notice{margin:20px 0 0;color:rgba(248,248,241,.38);font-size:10px}.gb-diagnosis__noscript{padding:20px 30px;color:var(--gb-yellow)}
.gb-diagnosis-promo{background:linear-gradient(180deg,#0d0e0b,#070806)}.gb-diagnosis-promo__inner{position:relative;display:grid;grid-template-columns:280px minmax(0,1fr) auto;gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(32px,5vw,62px);border:1px solid rgba(255,222,89,.28);background:radial-gradient(circle at 15% 50%,rgba(255,222,89,.13),transparent 32%),#0b0d09;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px))}.gb-diagnosis-promo__visual{position:relative;height:220px;border:1px solid rgba(255,222,89,.18);background:linear-gradient(rgba(255,222,89,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,222,89,.04) 1px,transparent 1px);background-size:28px 28px}.gb-diagnosis-promo__visual>span{position:absolute;color:rgba(255,222,89,.48);font:700 10px/1 var(--gb-mono)}.gb-diagnosis-promo__visual>span:nth-child(1){left:18px;top:18px}.gb-diagnosis-promo__visual>span:nth-child(2){right:18px;top:18px}.gb-diagnosis-promo__visual>span:nth-child(3){left:18px;bottom:18px}.gb-diagnosis-promo__visual>span:nth-child(4){right:18px;bottom:18px}.gb-diagnosis-promo__visual div{position:absolute;inset:50% auto auto 50%;width:130px;height:130px;border:1px solid var(--gb-yellow);border-radius:50%;transform:translate(-50%,-50%);display:grid;place-content:center;text-align:center;box-shadow:0 0 0 18px rgba(255,222,89,.035),0 0 36px rgba(255,222,89,.12)}.gb-diagnosis-promo__visual b{font-size:28px;letter-spacing:.1em}.gb-diagnosis-promo__visual small{font:700 8px/1.5 var(--gb-mono);letter-spacing:.15em;color:var(--gb-yellow)}.gb-diagnosis-promo__copy h2{margin:14px 0 15px;font-size:clamp(30px,4vw,54px);line-height:1.15}.gb-diagnosis-promo__copy>p{color:rgba(248,248,241,.58)}.gb-diagnosis-promo__facts{display:flex;flex-wrap:wrap;gap:20px;margin-top:24px}.gb-diagnosis-promo__facts span{font:700 9px/1 var(--gb-mono);letter-spacing:.13em;color:rgba(248,248,241,.45)}.gb-diagnosis-promo__facts b{margin-right:5px;color:var(--gb-yellow);font-size:16px}
@media(max-width:1040px){.gb-diagnosis__progress{grid-template-columns:1fr}.gb-diagnosis__progress ol{grid-column:1;grid-row:auto}.gb-diagnosis__progress-track{grid-column:1}.gb-diagnosis-promo__inner{grid-template-columns:220px minmax(0,1fr)}.gb-diagnosis-promo__inner>.gb-button{grid-column:2;justify-self:start}.gb-diagnosis-promo__visual{height:200px;grid-row:1/3}}
@media(max-width:760px){.gb-diagnosis__top{grid-template-columns:1fr}.gb-diagnosis__progress ol{grid-template-columns:repeat(7,32px);overflow-x:auto;padding-bottom:8px}.gb-diagnosis__progress li{font-size:0}.gb-diagnosis-options,.gb-diagnosis-options--checkbox{grid-template-columns:1fr}.gb-diagnosis-result>header{padding-right:0}.gb-diagnosis-result__code{position:static;display:inline-block;margin-bottom:20px}.gb-diagnosis-result__grid{grid-template-columns:1fr}.gb-diagnosis-result__panel{min-height:0}.gb-diagnosis-result__actions{display:grid}.gb-diagnosis-result__actions .gb-button{width:100%}.gb-diagnosis-reset{margin:8px auto 0}.gb-diagnosis-promo__inner{grid-template-columns:1fr}.gb-diagnosis-promo__visual{height:180px;grid-row:auto}.gb-diagnosis-promo__inner>.gb-button{grid-column:auto;width:100%}.gb-diagnosis__controls .gb-button{min-width:0;padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.gb-diagnosis__progress-track span,.gb-diagnosis-option{transition:none}.gb-diagnosis-option:hover{transform:none}}

/* v3.5 Interactive sample app demo */
.gb-page-hero--demo {
  background:
    radial-gradient(circle at 76% 30%, rgba(255,222,89,.2), transparent 28%),
    linear-gradient(135deg, #070806, #10120d 62%, #0a0b08);
}
.gb-page-hero--demo h1 span { color: var(--gb-yellow); }
.gb-page-hero__facts {
  display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px;
}
.gb-page-hero__facts span {
  display: inline-flex; align-items: baseline; gap: 8px; padding: 9px 12px;
  border: 1px solid rgba(255,222,89,.25); background: rgba(255,222,89,.045);
  font: 700 10px/1 var(--gb-mono); letter-spacing: .14em; color: rgba(248,248,241,.68);
}
.gb-page-hero__facts b { color: var(--gb-yellow); font-size: 14px; }
.gb-demo-page {
  position: relative; overflow: hidden; background:
    linear-gradient(rgba(255,222,89,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,222,89,.025) 1px, transparent 1px),
    #080906;
  background-size: 50px 50px;
}
.gb-demo-page::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 12% 28%, rgba(255,222,89,.085), transparent 25%), radial-gradient(circle at 88% 78%, rgba(255,222,89,.055), transparent 30%);
}
.gb-demo-page__intro {
  position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(300px,.7fr); gap: 52px; align-items: end; margin-bottom: 44px;
}
.gb-demo-page__intro > p { margin: 0; color: rgba(248,248,241,.62); }
.gb-demo [hidden] { display: none !important; }
.gb-demo {
  position: relative; z-index: 1; border: 1px solid rgba(255,222,89,.28); background: rgba(9,10,7,.92);
  box-shadow: 0 34px 110px rgba(0,0,0,.5); clip-path: polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));
}
.gb-demo::before {
  content: ""; position: absolute; left: 0; top: 0; width: 160px; height: 3px; z-index: 3;
  background: var(--gb-yellow); box-shadow: 0 0 24px rgba(255,222,89,.55);
}
.gb-demo__tabs {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border-bottom: 1px solid rgba(255,255,255,.08);
}
.gb-demo-tab {
  position: relative; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 14px; align-items: center; min-height: 92px; padding: 18px 24px;
  border: 0; border-right: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.018); text-align: left; cursor: pointer;
  transition: background .22s ease, color .22s ease, box-shadow .22s ease;
}
.gb-demo-tab:last-child { border-right: 0; }
.gb-demo-tab::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; background: var(--gb-yellow); transition: right .25s ease; }
.gb-demo-tab:hover { background: rgba(255,222,89,.05); }
.gb-demo-tab.is-active { background: linear-gradient(120deg,rgba(255,222,89,.12),rgba(255,222,89,.02)); box-shadow: inset 3px 0 var(--gb-yellow); }
.gb-demo-tab.is-active::after { right: 0; }
.gb-demo-tab:focus-visible { outline: 2px solid var(--gb-yellow); outline-offset: -4px; }
.gb-demo-tab img { width: 40px; height: 40px; object-fit: contain; }
.gb-demo-tab span { display: grid; gap: 5px; }
.gb-demo-tab small { color: var(--gb-yellow); font: 700 8px/1.2 var(--gb-mono); letter-spacing: .13em; }
.gb-demo-tab b { color: var(--gb-white); font-size: 15px; line-height: 1.35; }
.gb-demo__workspace { display: grid; grid-template-columns: minmax(520px,1.25fr) minmax(330px,.75fr); min-height: 820px; }
.gb-demo__device-zone {
  position: relative; display: grid; place-items: center; min-width: 0; padding: 60px 36px 34px; overflow: hidden;
  border-right: 1px solid rgba(255,255,255,.08); background:
    radial-gradient(circle at center, rgba(255,222,89,.13), transparent 34%),
    linear-gradient(rgba(255,222,89,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,222,89,.03) 1px,transparent 1px), #0b0d09;
  background-size: auto, 34px 34px, 34px 34px;
}
.gb-demo__ambient { position: absolute; width: 680px; height: 680px; border-radius: 50%; pointer-events: none; }
.gb-demo__ambient::before,.gb-demo__ambient::after,.gb-demo__ambient span { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,222,89,.12); border-radius: 50%; }
.gb-demo__ambient::after { inset: 70px; border-style: dashed; animation: gb-demo-spin 30s linear infinite reverse; }
.gb-demo__ambient span:nth-child(1) { inset: 135px; border-color: rgba(255,222,89,.2); animation: gb-demo-spin 22s linear infinite; }
.gb-demo__ambient span:nth-child(2) { inset: 220px; border-style: dotted; }
.gb-demo__ambient span:nth-child(3) { inset: 285px; background: rgba(255,222,89,.05); border: 0; box-shadow: 0 0 70px rgba(255,222,89,.14); }
@keyframes gb-demo-spin { to { transform: rotate(360deg); } }
.gb-demo-device {
  position: relative; z-index: 2; width: 356px; height: 718px; padding: 11px; border: 1px solid rgba(255,222,89,.4); border-radius: 47px;
  background: linear-gradient(145deg,#252720,#060705 42%,#1c1e19); box-shadow: 0 35px 75px rgba(0,0,0,.62),0 0 55px rgba(255,222,89,.09),inset 0 0 0 2px #050604;
}
.gb-demo-device::before { content: ""; position: absolute; left: -4px; top: 148px; width: 3px; height: 62px; border-radius: 3px 0 0 3px; background: #2c2f27; box-shadow: 0 88px #2c2f27; }
.gb-demo-device__hardware { position: absolute; z-index: 5; top: 18px; left: 50%; width: 92px; height: 24px; transform: translateX(-50%); border-radius: 20px; background: #050604; }
.gb-demo-device__hardware span { position: absolute; right: 15px; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: #1f2d22; box-shadow: 0 0 5px rgba(255,222,89,.18); }
.gb-demo-device__screen { position: relative; height: 100%; overflow: hidden; border-radius: 37px; background: #f2f2eb; color: #171813; }
.gb-demo-status { display: flex; align-items: center; justify-content: space-between; height: 38px; padding: 0 22px; background: #11120f; color: #f7f7ef; font: 700 10px/1 var(--gb-mono); }
.gb-demo-status div { display: flex; gap: 3px; }
.gb-demo-status i { width: 4px; height: 4px; border-radius: 50%; background: var(--gb-yellow); }
.gb-demo-panels { height: calc(100% - 38px); }
.gb-demo-app { position: relative; height: 100%; display: flex; flex-direction: column; background: #efefe8; }
.gb-demo-appbar { flex: 0 0 auto; display: grid; grid-template-columns: 38px 1fr 38px; align-items: center; height: 52px; padding: 0 10px; background: #11120f; color: #fff; border-bottom: 1px solid rgba(255,222,89,.28); }
.gb-demo-appbar strong { text-align: center; font-size: 13px; letter-spacing: .08em; }
.gb-demo-appbar button { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255,255,255,.055); color: var(--gb-yellow); cursor: pointer; }
.gb-demo-appbar button:disabled { opacity: .22; cursor: default; }
.gb-demo-appbar button:focus-visible { outline: 2px solid var(--gb-yellow); outline-offset: 1px; }
.gb-demo-screen { flex: 1 1 auto; min-height: 0; padding: 20px 18px 28px; overflow-y: auto; outline: 0; scrollbar-width: thin; scrollbar-color: #c8b54d transparent; }
.gb-demo-screen.is-entering { animation: gb-demo-enter .36s ease both; }
@keyframes gb-demo-enter { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: none; } }
.gb-demo .gb-app-hero { display: block; grid-template-columns: none; gap: 0; align-items: initial; padding: 20px; margin-bottom: 18px; color: #0c0d0a; background: var(--gb-yellow); border-radius: 20px 4px 20px 4px; box-shadow: 0 12px 28px rgba(44,40,15,.15); }
.gb-demo .gb-app-hero small,.gb-app-mini-head small,.gb-app-dashboard-head small { font: 700 8px/1 var(--gb-mono); letter-spacing: .14em; }
.gb-demo .gb-app-hero h3 { margin: 10px 0 8px; font-size: 22px; line-height: 1.28; letter-spacing: -.03em; }
.gb-demo .gb-app-hero p { margin: 0; font-size: 11px; }
.gb-app-section-title { display: flex; justify-content: space-between; align-items: center; margin: 18px 2px 10px; }
.gb-app-section-title b { font-size: 12px; }
.gb-app-section-title span { font: 700 7px/1 var(--gb-mono); letter-spacing: .12em; color: #7b7d72; }
.gb-app-list-button,.gb-app-event { width: 100%; border: 1px solid #dbdbd2; background: #fff; color: #171813; cursor: pointer; }
.gb-app-list-button { display: flex; align-items: center; justify-content: space-between; min-height: 67px; margin-bottom: 8px; padding: 13px 15px; text-align: left; border-radius: 10px; }
.gb-app-list-button:hover,.gb-app-list-button:focus-visible { border-color: #b49b35; box-shadow: 0 7px 18px rgba(34,34,20,.09); transform: translateY(-1px); }
.gb-app-list-button span { display: grid; gap: 2px; }
.gb-app-list-button b { font-size: 13px; }
.gb-app-list-button small { color: #77796f; font-size: 9px; }
.gb-app-list-button i,.gb-app-event > i { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--gb-yellow); color: #11120f; font-style: normal; font-size: 12px; }
.gb-app-mini-head { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid #d8d8d0; }
.gb-app-mini-head small { color: #9a842b; }
.gb-app-mini-head h3 { margin: 8px 0 4px; font-size: 21px; line-height: 1.3; }
.gb-app-mini-head p { margin: 0; color: #6d6f66; font-size: 10px; }
.gb-app-calendar { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; }
.gb-app-calendar button { display: grid; gap: 4px; place-items: center; min-height: 62px; border: 1px solid #d7d8cf; border-radius: 8px; background: #fff; color: #25261f; cursor: pointer; }
.gb-app-calendar button.is-selected { border-color: #181914; background: #181914; color: var(--gb-yellow); }
.gb-app-calendar small { font-size: 8px; }.gb-app-calendar b { font-size: 16px; }
.gb-app-time-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.gb-app-time-grid button { min-height: 47px; border: 1px solid #d6d6cd; border-radius: 7px; background: #fff; color: #1c1d18; font: 700 12px/1 var(--gb-mono); cursor: pointer; }
.gb-app-time-grid button:hover,.gb-app-time-grid button:focus-visible { border-color: #171813; background: var(--gb-yellow); }
.gb-app-summary-card { display: grid; gap: 5px; margin-bottom: 9px; padding: 14px 15px; border: 1px solid #dbdbd1; border-radius: 8px; background: #fff; }
.gb-app-summary-card span { color: #8b8d82; font: 700 7px/1 var(--gb-mono); letter-spacing: .13em; }
.gb-app-summary-card strong { font-size: 13px; }
.gb-app-primary,.gb-app-secondary { width: 100%; min-height: 48px; margin-top: 12px; border: 0; border-radius: 7px; font-weight: 800; cursor: pointer; }
.gb-app-primary { background: #171813; color: var(--gb-yellow); box-shadow: 0 10px 20px rgba(0,0,0,.18); }
.gb-app-secondary { border: 1px solid #23241d; background: transparent; color: #23241d; }
.gb-app-primary:hover,.gb-app-primary:focus-visible { background: #000; box-shadow: 0 0 0 3px rgba(255,222,89,.42),0 10px 20px rgba(0,0,0,.18); }
.gb-app-secondary:hover,.gb-app-secondary:focus-visible { background: var(--gb-yellow); }
.gb-app-caption { margin: 10px 0 0; color: #8a8c82; font-size: 8px; text-align: center; }
.gb-app-success { display: grid; place-items: center; min-height: 445px; padding: 36px 22px; text-align: center; }
.gb-app-success > span { display: grid; place-items: center; width: 82px; height: 82px; margin-bottom: 22px; border-radius: 50%; background: var(--gb-yellow); color: #11120f; font-size: 36px; box-shadow: 0 0 0 13px rgba(255,222,89,.18),0 0 45px rgba(205,176,55,.28); }
.gb-app-success small { color: #9a842b; font: 700 8px/1 var(--gb-mono); letter-spacing: .14em; }
.gb-app-success h3 { margin: 12px 0 14px; font-size: 22px; line-height: 1.35; }
.gb-app-success p { margin: 0 0 14px; color: #5d5f56; font-size: 11px; }
.gb-app-success p b { color: #171813; font-size: 15px; }.gb-app-success em { color: #8b8d82; font-size: 9px; font-style: normal; }
.gb-app-dashboard-head { display: flex; align-items: start; justify-content: space-between; margin-bottom: 14px; }
.gb-app-dashboard-head h3 { margin: 6px 0 0; font-size: 20px; }
.gb-app-dashboard-head > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--gb-yellow); font-weight: 800; }
.gb-app-alert { display: grid; grid-template-columns: 32px 1fr; gap: 10px; padding: 12px; border-left: 3px solid #d7b72d; border-radius: 5px; background: #fff8d7; }
.gb-app-alert i { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: var(--gb-yellow); font-style: normal; font-weight: 900; }
.gb-app-alert span { display: grid; gap: 3px; }.gb-app-alert b { font-size: 10px; }.gb-app-alert small { color: #6c6e64; font-size: 8px; }
.gb-app-event { display: grid; grid-template-columns: 52px 1fr 28px; gap: 10px; align-items: center; padding: 13px; border-radius: 10px; text-align: left; }
.gb-app-event time { display: grid; place-items: center; min-height: 54px; border-radius: 8px; background: #171813; color: var(--gb-yellow); }
.gb-app-event time b { font-size: 20px; line-height: 1; }.gb-app-event time small { font: 700 7px/1 var(--gb-mono); }
.gb-app-event > span { display: grid; gap: 2px; }.gb-app-event > span b { font-size: 12px; }.gb-app-event > span small { color: #77796f; font-size: 8px; }.gb-app-event > span em { color: #9b842a; font-size: 8px; font-style: normal; }
.gb-app-quick-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 7px; margin-top: 12px; }
.gb-app-quick-grid button { display: grid; gap: 3px; min-height: 57px; padding: 11px; border: 1px solid #d8d8cf; border-radius: 8px; background: #fff; color: #24251f; text-align: left; }
.gb-app-quick-grid b { font-size: 10px; }.gb-app-quick-grid small { color: #8a8c82; font-size: 8px; }
.gb-app-info-row { display: grid; grid-template-columns: 70px 1fr; gap: 10px; padding: 12px 0; border-bottom: 1px solid #d8d8d0; font-size: 10px; }
.gb-app-info-row span { color: #85877d; }.gb-app-info-row b { font-size: 11px; }
.gb-app-attendance { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.gb-app-attendance button { display: grid; grid-template-columns: 30px 1fr; gap: 7px; align-items: center; min-height: 55px; padding: 8px; border: 1px solid #d4d5cc; border-radius: 8px; background: #fff; color: #22231e; cursor: pointer; text-align: left; }
.gb-app-attendance button:hover,.gb-app-attendance button:focus-visible { border-color: #171813; background: #fff8d1; }
.gb-app-attendance i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--gb-yellow); font-style: normal; }.gb-app-attendance b { font-size: 11px; }
.gb-member-card { position: relative; min-height: 203px; padding: 24px; overflow: hidden; border-radius: 20px 5px 20px 5px; background: linear-gradient(135deg,#10110e,#23251d); color: #fff; box-shadow: 0 18px 35px rgba(0,0,0,.22); }
.gb-member-card::after { content: "G"; position: absolute; right: -14px; bottom: -54px; color: rgba(255,222,89,.09); font-size: 180px; font-weight: 900; line-height: 1; }
.gb-member-card div { display: grid; gap: 4px; }.gb-member-card div small { color: #a9aa9f; font: 700 7px/1 var(--gb-mono); letter-spacing: .14em; }.gb-member-card div b { font: 700 12px/1 var(--gb-mono); }
.gb-member-card > span { position: absolute; right: 20px; top: 20px; padding: 6px 9px; background: var(--gb-yellow); color: #11120f; font: 800 8px/1 var(--gb-mono); letter-spacing: .12em; }
.gb-member-card > strong { display: block; margin-top: 43px; color: var(--gb-yellow); font-size: 37px; line-height: 1; }.gb-member-card > strong small { font-size: 12px; }.gb-member-card > i { position: absolute; left: 24px; bottom: 19px; color: #b5b6ab; font: 700 7px/1 var(--gb-mono); font-style: normal; letter-spacing: .16em; }
.gb-coupon-card { display: grid; grid-template-columns: 1fr 32px; gap: 8px; align-items: center; width: 100%; padding: 15px; border: 1px solid #d8d8cf; border-radius: 11px; background: #fff; color: #171813; text-align: left; cursor: pointer; }
.gb-coupon-card span { display: grid; gap: 3px; }.gb-coupon-card small { color: #9a842b; font: 700 7px/1 var(--gb-mono); letter-spacing: .12em; }.gb-coupon-card b { font-size: 21px; }.gb-coupon-card em { color: #77796f; font-size: 8px; font-style: normal; }.gb-coupon-card > i { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--gb-yellow); font-style: normal; }
.gb-member-actions { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin-top: 10px; }.gb-member-actions button { display: grid; gap: 3px; padding: 12px; border: 1px solid #d9dad1; border-radius: 8px; background: #fff; color: #1e1f19; text-align: left; }.gb-member-actions b { font-size: 10px; }.gb-member-actions small { color: #85877d; font-size: 8px; }
.gb-coupon-detail { position: relative; padding: 26px 20px; overflow: hidden; border: 1px solid #c5ac3b; border-radius: 18px 5px 18px 5px; background: var(--gb-yellow); text-align: center; }
.gb-coupon-detail::before,.gb-coupon-detail::after { content: ""; position: absolute; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%; background: #efefe8; }.gb-coupon-detail::before { left: -12px; }.gb-coupon-detail::after { right: -12px; }
.gb-coupon-detail > small { font: 700 7px/1 var(--gb-mono); letter-spacing: .14em; }.gb-coupon-detail > strong { display: block; margin-top: 24px; font-size: 58px; line-height: 1; }.gb-coupon-detail > b { font-size: 17px; }.gb-coupon-detail > p { margin: 16px 0; font-size: 10px; }.gb-coupon-detail > em { font-size: 8px; font-style: normal; }
.gb-coupon-code { display: flex; justify-content: center; gap: 3px; margin: 18px 0; padding: 12px; background: #fff; }.gb-coupon-code span { width: 3px; height: 34px; background: #11120f; }.gb-coupon-code span:nth-child(2n) { width: 6px; }.gb-coupon-code span:nth-child(3n) { height: 28px; }
.gb-demo-homebar { position: absolute; z-index: 10; left: 50%; bottom: 7px; width: 110px; height: 4px; transform: translateX(-50%); border-radius: 4px; background: rgba(17,18,15,.5); }
.gb-demo__device-note { position: relative; z-index: 2; margin: 20px 0 0; color: rgba(248,248,241,.48); font: 700 9px/1.5 var(--gb-mono); letter-spacing: .08em; text-align: center; }.gb-demo__device-note span { color: var(--gb-yellow); }
.gb-demo__inspector { position: relative; min-width: 0; padding: clamp(36px,5vw,66px); background: radial-gradient(circle at 100% 0,rgba(255,222,89,.09),transparent 30%),#0a0b08; }
.gb-demo__inspector::after { content: ""; position: absolute; right: 22px; bottom: 22px; width: 90px; height: 90px; border-right: 1px solid rgba(255,222,89,.22); border-bottom: 1px solid rgba(255,222,89,.22); pointer-events: none; }
.gb-demo__inspector-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.gb-demo__inspector-head p { margin: 0; }.gb-demo__inspector-head > span { padding: 7px 9px; border: 1px solid rgba(255,222,89,.3); color: var(--gb-yellow); font: 700 9px/1 var(--gb-mono); letter-spacing: .12em; }
.gb-demo__inspector h2 { margin: 22px 0 14px; color: var(--gb-yellow); font-size: clamp(28px,3vw,42px); line-height: 1.25; letter-spacing: -.04em; }
.gb-demo__inspector > p { color: rgba(248,248,241,.64); font-size: 13px; }
.gb-demo__signal { display: flex; align-items: end; gap: 4px; height: 42px; margin: 30px 0; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.07); border-bottom: 1px solid rgba(255,255,255,.07); }
.gb-demo__signal span { width: 22px; height: 7px; background: rgba(255,222,89,.25); animation: gb-demo-signal 1.6s ease-in-out infinite alternate; }.gb-demo__signal span:nth-child(2){height:14px;animation-delay:.15s}.gb-demo__signal span:nth-child(3){height:24px;animation-delay:.3s}.gb-demo__signal span:nth-child(4){height:12px;animation-delay:.45s}.gb-demo__signal span:nth-child(5){height:18px;animation-delay:.6s}
@keyframes gb-demo-signal { to { background: var(--gb-yellow); box-shadow: 0 0 12px rgba(255,222,89,.45); } }
.gb-demo__feature-box,.gb-demo__guide { margin-top: 28px; padding: 22px; border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.022); }
.gb-demo__feature-box > small,.gb-demo__guide > small { color: var(--gb-yellow); font: 700 8px/1 var(--gb-mono); letter-spacing: .14em; }
.gb-demo__feature-box > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.gb-demo__feature-box span { padding: 7px 9px; border: 1px solid rgba(255,222,89,.23); background: rgba(255,222,89,.05); font-size: 10px; }
.gb-demo__guide ol { list-style: none; margin: 14px 0 0; padding: 0; }.gb-demo__guide li { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.06); color: rgba(248,248,241,.7); font-size: 11px; }.gb-demo__guide li span { color: var(--gb-yellow); font-family: var(--gb-mono); }
.gb-demo__inspector .gb-button { width: 100%; justify-content: center; margin-top: 28px; }
.gb-demo__disclaimer { margin-top: 16px !important; color: rgba(248,248,241,.36) !important; font-size: 9px !important; line-height: 1.7; }
.gb-demo-promo-section { background: linear-gradient(180deg,#0b0d09,#070806); }
.gb-demo-promo { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(390px,.8fr); gap: 56px; align-items: center; min-height: 610px; padding: clamp(40px,6vw,80px); overflow: hidden; border: 1px solid rgba(255,222,89,.25); background: radial-gradient(circle at 80% 50%,rgba(255,222,89,.13),transparent 30%),#0a0b08; clip-path: polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px)); }
.gb-demo-promo::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(rgba(255,222,89,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,222,89,.025) 1px,transparent 1px); background-size: 42px 42px; }
.gb-demo-promo__copy { position: relative; z-index: 2; }.gb-demo-promo__copy h2 { margin: 18px 0; font-size: clamp(34px,4.6vw,62px); line-height: 1.18; letter-spacing: -.045em; }.gb-demo-promo__copy > p { max-width: 650px; color: rgba(248,248,241,.62); }
.gb-demo-promo__apps { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 30px; }.gb-demo-promo__apps span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid rgba(255,222,89,.2); background: rgba(255,222,89,.04); font-size: 10px; }.gb-demo-promo__apps img { width: 22px; height: 22px; }
.gb-demo-promo__visual { position: relative; min-height: 470px; display: grid; place-items: center; }
.gb-demo-promo__orbit { position: absolute; width: 430px; height: 430px; border: 1px solid rgba(255,222,89,.13); border-radius: 50%; animation: gb-demo-spin 28s linear infinite; }.gb-demo-promo__orbit::before,.gb-demo-promo__orbit::after,.gb-demo-promo__orbit i { content: ""; position: absolute; inset: 54px; border: 1px dashed rgba(255,222,89,.13); border-radius: 50%; }.gb-demo-promo__orbit::after { inset: 125px; border-style: solid; box-shadow: 0 0 60px rgba(255,222,89,.1); }.gb-demo-promo__orbit i:nth-child(1) { width: 9px; height: 9px; inset: 42px auto auto 88px; background: var(--gb-yellow); border: 0; box-shadow: 0 0 16px var(--gb-yellow); }.gb-demo-promo__orbit i:nth-child(2) { width: 7px; height: 7px; inset: auto 56px 100px auto; background: var(--gb-yellow); border: 0; }.gb-demo-promo__orbit i:nth-child(3) { inset: 88px; }
.gb-demo-promo__phone { position: relative; z-index: 2; width: 250px; height: 480px; padding: 9px; border: 1px solid rgba(255,222,89,.36); border-radius: 36px; background: linear-gradient(140deg,#24261f,#050604 44%,#20221c); box-shadow: 0 28px 70px rgba(0,0,0,.58),0 0 45px rgba(255,222,89,.11); transform: rotate(5deg); }
.gb-demo-promo__speaker { position: absolute; z-index: 4; top: 16px; left: 50%; width: 66px; height: 18px; transform: translateX(-50%); border-radius: 15px; background: #050604; }
.gb-demo-promo__screen { height: 100%; padding: 19px 13px; border-radius: 28px; background: #11120f; overflow: hidden; }.gb-demo-promo__screen-head { display: flex; justify-content: space-between; color: #a8aa9e; font: 700 7px/1 var(--gb-mono); }.gb-demo-promo__screen-brand { display: flex; align-items: center; gap: 8px; margin: 34px 0 20px; color: var(--gb-yellow); font: 800 9px/1 var(--gb-mono); letter-spacing: .12em; }.gb-demo-promo__screen-brand img { width: 30px; height: 30px; }
.gb-demo-promo__screen-card { display: grid; grid-template-columns: 1fr 24px; gap: 5px; margin-bottom: 9px; padding: 14px; border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.035); color: #fff; }.gb-demo-promo__screen-card span { grid-column: 1; color: #999b90; font-size: 7px; }.gb-demo-promo__screen-card strong { grid-column: 1; font-size: 11px; }.gb-demo-promo__screen-card i { grid-column: 2; grid-row: 1/3; align-self: center; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--gb-yellow); color: #11120f; font-style: normal; }
.gb-demo-promo__cursor { position: absolute; z-index: 4; right: 25px; bottom: 62px; padding: 9px 11px; background: var(--gb-yellow); color: #11120f; font: 800 8px/1 var(--gb-mono); letter-spacing: .13em; animation: gb-demo-cursor 2s ease-in-out infinite; }.gb-demo-promo__cursor::before { content: ""; position: absolute; left: -10px; top: -10px; border: 8px solid transparent; border-right-color: var(--gb-yellow); transform: rotate(45deg); }
@keyframes gb-demo-cursor { 50% { transform: translate(-10px,-12px); } }
.gb-demo-explain { background: #0b0c09; }.gb-demo-explain__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.gb-demo-explain article { position: relative; min-height: 290px; padding: 30px; border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.022); }.gb-demo-explain article > span { position: absolute; right: 22px; top: 20px; color: rgba(255,222,89,.28); font: 800 32px/1 var(--gb-mono); }.gb-demo-explain article img { width: 52px; height: 52px; margin-bottom: 34px; }.gb-demo-explain article h3 { margin: 0 0 12px; font-size: 20px; }.gb-demo-explain article p { margin: 0; color: rgba(248,248,241,.56); font-size: 12px; }

@media (max-width: 1100px) {
  .gb-demo__workspace { grid-template-columns: minmax(450px,1fr) minmax(300px,.72fr); }
  .gb-demo__inspector { padding: 42px 30px; }
  .gb-demo-tab { padding-inline: 17px; }
}
@media (max-width: 900px) {
  .gb-demo-page__intro { grid-template-columns: 1fr; gap: 20px; }
  .gb-demo__tabs { grid-template-columns: 1fr; }
  .gb-demo-tab { min-height: 74px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.07); }
  .gb-demo__workspace { grid-template-columns: 1fr; }
  .gb-demo__device-zone { min-height: 800px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .gb-demo__inspector { min-height: auto; }
  .gb-demo-promo { grid-template-columns: 1fr; }
  .gb-demo-promo__visual { min-height: 520px; }
  .gb-demo-explain__grid { grid-template-columns: 1fr; }
}
@media (max-width: 580px) {
  .gb-page-hero__facts { display: grid; grid-template-columns: 1fr; }
  .gb-demo-page__intro { margin-bottom: 28px; }
  .gb-demo { clip-path: none; }
  .gb-demo-tab { grid-template-columns: 34px 1fr; padding: 14px 15px; }.gb-demo-tab img { width: 32px; height: 32px; }.gb-demo-tab b { font-size: 13px; }
  .gb-demo__device-zone { min-height: 690px; padding: 35px 10px 24px; }
  .gb-demo__ambient { width: 500px; height: 500px; }
  .gb-demo-device { width: min(320px,calc(100vw - 48px)); height: 625px; border-radius: 40px; }
  .gb-demo-device__screen { border-radius: 31px; }
  .gb-demo-screen { padding: 16px 14px 24px; }
  .gb-app-success { min-height: 370px; }
  .gb-demo__inspector { padding: 34px 20px; }.gb-demo__inspector h2 { font-size: 28px; }
  .gb-demo-promo { min-height: 0; padding: 34px 20px; clip-path: none; }.gb-demo-promo__copy h2 { font-size: 34px; }.gb-demo-promo__visual { min-height: 430px; }.gb-demo-promo__orbit { width: 350px; height: 350px; }.gb-demo-promo__phone { width: 220px; height: 420px; }.gb-demo-promo__cursor { right: 5px; bottom: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .gb-demo__ambient::after,.gb-demo__ambient span,.gb-demo__signal span,.gb-demo-promo__orbit,.gb-demo-promo__cursor { animation: none !important; }
  .gb-demo-screen.is-entering { animation: none !important; }
}
.gb-directory-demo-link { margin-top: 28px; }

/* v3.6.0 - Free resource library */
.gb-button--small { min-height: 46px; padding: 10px 17px; font-size: 12px; }
.gb-resource-promo { background: linear-gradient(180deg,#090a07,#0d0f0b); border-top: 1px solid rgba(255,222,89,.12); border-bottom: 1px solid rgba(255,222,89,.12); }
.gb-resource-hero { background: radial-gradient(circle at 78% 32%,rgba(255,222,89,.18),transparent 26%),linear-gradient(135deg,#070806,#11130e 68%,#080907); }
.gb-resource-hero h1 span { color: var(--gb-yellow); }
.gb-resource-hero__status { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; max-width: 760px; margin-top: 52px; border: 1px solid rgba(255,222,89,.22); background: rgba(255,222,89,.16); }
.gb-resource-hero__status > div { display: grid; gap: 6px; padding: 18px 20px; background: rgba(7,8,6,.92); }
.gb-resource-hero__status strong { color: var(--gb-yellow); font: 800 clamp(22px,3vw,34px)/1 var(--gb-mono); }
.gb-resource-hero__status span { color: rgba(248,248,241,.46); font: 700 9px/1.2 var(--gb-mono); letter-spacing: .13em; }
.gb-resource-library { background: #090a07; }
.gb-resource-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.gb-resource-grid--compact { grid-template-columns: repeat(3,minmax(0,1fr)); }
.gb-resource-card { position: relative; display: grid; grid-template-columns: minmax(190px,.68fr) minmax(0,1.32fr); min-height: 430px; overflow: hidden; border: 1px solid rgba(255,222,89,.22); background: linear-gradient(135deg,rgba(255,255,255,.025),rgba(255,222,89,.02)); box-shadow: inset 0 0 70px rgba(255,222,89,.015); }
.gb-resource-card::before,.gb-resource-card::after { content:""; position:absolute; z-index:3; width:28px; height:28px; pointer-events:none; }
.gb-resource-card::before { left:-1px; top:-1px; border-left:2px solid var(--gb-yellow); border-top:2px solid var(--gb-yellow); }
.gb-resource-card::after { right:-1px; bottom:-1px; border-right:2px solid var(--gb-yellow); border-bottom:2px solid var(--gb-yellow); }
.gb-resource-card--featured { grid-column: 1/-1; grid-template-columns: minmax(300px,.82fr) minmax(0,1.18fr); min-height: 500px; border-color: rgba(255,222,89,.48); background: radial-gradient(circle at 18% 44%,rgba(255,222,89,.12),transparent 34%),#0d0f0b; }
.gb-resource-card__cover { position:relative; display:grid; place-items:center; min-height:100%; padding:28px; overflow:hidden; background: linear-gradient(135deg,#141611,#060705); border-right:1px solid rgba(255,222,89,.16); }
.gb-resource-card__cover::before { content:""; position:absolute; inset:0; background: linear-gradient(rgba(255,222,89,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,222,89,.025) 1px,transparent 1px); background-size:30px 30px; }
.gb-resource-card__cover img { position:relative; z-index:1; width:min(100%,280px); height:auto; aspect-ratio:5/7; object-fit:cover; box-shadow:0 28px 55px rgba(0,0,0,.48); transition:transform .35s ease,filter .35s ease; }
.gb-resource-card--featured .gb-resource-card__cover img { width:min(100%,390px); aspect-ratio:10/7; object-fit:cover; }
.gb-resource-card__cover > span { position:absolute; z-index:2; right:18px; bottom:18px; padding:7px 9px; border:1px solid rgba(255,222,89,.4); background:rgba(6,7,5,.86); color:var(--gb-yellow); font:700 8px/1 var(--gb-mono); letter-spacing:.12em; }
.gb-resource-card__cover:hover img { transform:translateY(-5px) scale(1.015); filter:brightness(1.06); }
.gb-resource-card__body { display:flex; flex-direction:column; padding:clamp(28px,4vw,48px); }
.gb-resource-card__eyebrow { margin:0 0 14px; color:var(--gb-yellow); font:700 9px/1.4 var(--gb-mono); letter-spacing:.15em; text-transform:uppercase; }
.gb-resource-card h3 { margin:0 0 15px; font-size:clamp(24px,2.6vw,38px); line-height:1.25; letter-spacing:-.035em; }
.gb-resource-card__body > p:not(.gb-resource-card__eyebrow) { margin:0 0 20px; color:rgba(248,248,241,.58); font-size:13px; }
.gb-resource-card ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; margin:0 0 24px; padding:0; list-style:none; }
.gb-resource-card li { display:flex; align-items:flex-start; gap:7px; color:rgba(248,248,241,.72); font-size:11px; }
.gb-resource-card li svg { flex:0 0 auto; width:15px; height:15px; color:var(--gb-yellow); margin-top:1px; }
.gb-resource-card__meta { display:flex; flex-wrap:wrap; gap:7px; margin-top:auto; margin-bottom:18px; }
.gb-resource-card__meta span { padding:6px 8px; border:1px solid rgba(255,222,89,.18); color:rgba(248,248,241,.48); font:700 8px/1 var(--gb-mono); letter-spacing:.08em; }
.gb-resource-card__actions { display:flex; align-items:center; gap:18px; }
.gb-resource-preview-link { color:rgba(248,248,241,.64); font-size:11px; text-decoration:underline; text-underline-offset:4px; }
.gb-resource-preview-link:hover { color:var(--gb-yellow); }
.gb-resource-grid--compact .gb-resource-card { grid-template-columns:1fr; min-height:0; }
.gb-resource-grid--compact .gb-resource-card__cover { min-height:290px; border-right:0; border-bottom:1px solid rgba(255,222,89,.16); }
.gb-resource-grid--compact .gb-resource-card__cover img { width:185px; }
.gb-resource-grid--compact .gb-resource-card__body { padding:28px; }
.gb-resource-grid--compact .gb-resource-card h3 { font-size:25px; }
.gb-resource-grid--compact .gb-resource-card ul { grid-template-columns:1fr; }
.gb-resource-grid--compact .gb-resource-card__actions { display:block; }
.gb-resource-grid--compact .gb-resource-preview-link { display:none; }
.gb-resource-usage { background:radial-gradient(circle at 15% 20%,rgba(255,222,89,.07),transparent 30%),#0d0f0b; }
.gb-resource-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-top:34px; border:1px solid rgba(255,222,89,.18); background:rgba(255,222,89,.12); }
.gb-resource-step { min-height:260px; padding:30px; background:#0a0b08; }
.gb-resource-step > span { color:rgba(255,222,89,.38); font:800 38px/1 var(--gb-mono); }
.gb-resource-step h3 { margin:45px 0 12px; font-size:20px; }
.gb-resource-step p { margin:0; color:rgba(248,248,241,.52); font-size:12px; }
.gb-resource-crosslinks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:28px; }
.gb-resource-crosslinks a { position:relative; display:grid; grid-template-columns:1fr 30px; gap:8px; align-items:center; min-height:130px; padding:28px; border:1px solid rgba(255,222,89,.22); background:linear-gradient(120deg,rgba(255,222,89,.055),rgba(255,255,255,.012)); }
.gb-resource-crosslinks a span { grid-column:1; color:var(--gb-yellow); font:700 9px/1 var(--gb-mono); letter-spacing:.13em; }
.gb-resource-crosslinks a strong { grid-column:1; font-size:20px; }
.gb-resource-crosslinks a svg { grid-column:2; grid-row:1/3; width:26px; color:var(--gb-yellow); transition:transform .2s; }
.gb-resource-crosslinks a:hover svg { transform:translateX(5px); }
.gb-resource-notes { background:#080906; }
.gb-resource-notes__grid { display:grid; grid-template-columns:.55fr 1.45fr; gap:70px; align-items:start; }
.gb-resource-note-list { border-top:1px solid rgba(255,222,89,.2); }
.gb-resource-note-list details { border-bottom:1px solid rgba(255,222,89,.15); }
.gb-resource-note-list summary { position:relative; padding:24px 48px 24px 0; cursor:pointer; color:rgba(248,248,241,.88); font-size:16px; font-weight:700; list-style:none; }
.gb-resource-note-list summary::-webkit-details-marker { display:none; }
.gb-resource-note-list summary::after { content:"+"; position:absolute; right:8px; top:20px; color:var(--gb-yellow); font:400 26px/1 var(--gb-mono); }
.gb-resource-note-list details[open] summary::after { content:"-"; }
.gb-resource-note-list details p { margin:0 0 24px; padding-right:45px; color:rgba(248,248,241,.55); font-size:13px; }
@media (max-width:1100px) {
  .gb-resource-grid,.gb-resource-grid--compact { grid-template-columns:1fr 1fr; }
  .gb-resource-card--featured { grid-column:1/-1; }
  .gb-resource-grid--compact .gb-resource-card:last-child { grid-column:1/-1; grid-template-columns:240px 1fr; }
  .gb-resource-grid--compact .gb-resource-card:last-child .gb-resource-card__cover { min-height:100%; border-right:1px solid rgba(255,222,89,.16); border-bottom:0; }
  .gb-resource-steps { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  .gb-resource-hero__status { grid-template-columns:1fr; }
  .gb-resource-grid,.gb-resource-grid--compact { grid-template-columns:1fr; }
  .gb-resource-card,.gb-resource-card--featured,.gb-resource-grid--compact .gb-resource-card:last-child { grid-template-columns:1fr; min-height:0; }
  .gb-resource-card__cover,.gb-resource-grid--compact .gb-resource-card:last-child .gb-resource-card__cover { min-height:330px; border-right:0; border-bottom:1px solid rgba(255,222,89,.16); }
  .gb-resource-card--featured .gb-resource-card__cover img { width:min(100%,420px); }
  .gb-resource-card ul { grid-template-columns:1fr; }
  .gb-resource-card__actions { align-items:flex-start; flex-direction:column; }
  .gb-resource-steps,.gb-resource-crosslinks,.gb-resource-notes__grid { grid-template-columns:1fr; }
  .gb-resource-notes__grid { gap:28px; }
}
@media (max-width:480px) {
  .gb-resource-card__body { padding:24px 20px; }
  .gb-resource-card__cover { min-height:280px; padding:20px; }
  .gb-resource-card__cover img { width:170px; }
  .gb-resource-card--featured .gb-resource-card__cover img { width:100%; }
  .gb-resource-step { min-height:220px; padding:24px 20px; }
  .gb-resource-crosslinks a { padding:22px 20px; }
}
