
@import url("https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@300;400;500;600;700&family=Saira+Semi+Condensed:wght@300;400;500;600;700&family=Saira:wght@300;400;500;600;700&display=swap");

:root {
  --gs-gold: #FFC000;
  --gs-gold-dark: #917300;
  --gs-gold-text: #FFCE3E;
  --gs-white: #ffffff;
  --gs-black: #000000;
  --gs-charcoal: #202020;
  --gs-dark-iron: #181818;
  --gs-raised: #2a2a2a;
  --gs-smoke: #F5F5F5;
  --gs-ash: #7D7D7D;
  --gs-steel: #969696;
  --gs-iron: #555555;
  --gs-border: #2a2a2a;
  --gs-border-ghost: rgba(255,255,255,0.5);
  --gs-font-display: "Saira Condensed","Arial Narrow",Arial,sans-serif;
  --gs-font-heading: "Saira Semi Condensed","Saira",Arial,sans-serif;
  --gs-font-body: "Saira","Helvetica Neue",Arial,sans-serif;
}

body { background:#000; font-family:var(--gs-font-body); }

.gs-eyebrow { font-size:12px; letter-spacing:1.6px; text-transform:uppercase; color:var(--gs-gold-text); font-weight:500; display:block; margin-bottom:12px; }

.gs-btn-accent {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--gs-gold); color:#000;
  font-family:var(--gs-font-body); font-weight:600;
  text-transform:uppercase; letter-spacing:0.8px;
  border:1px solid transparent; padding:15px 26px;
  font-size:14px; line-height:1; cursor:pointer;
  text-decoration:none; transition:background 180ms;
}
.gs-btn-accent:hover { background:var(--gs-gold-dark); color:#fff; }

.gs-btn-ghost {
  display:inline-flex; align-items:center; gap:10px;
  background:transparent; color:#fff;
  font-family:var(--gs-font-body); font-weight:600;
  text-transform:uppercase; letter-spacing:0.8px;
  border:1px solid rgba(255,255,255,0.5); padding:15px 26px;
  font-size:14px; line-height:1; cursor:pointer;
  text-decoration:none; transition:all 180ms;
}
.gs-btn-ghost:hover { background:#1EAEDB; border-color:#1EAEDB; color:#fff; }

.gs-rule-gold { display:inline-block; width:88px; height:5px; background:var(--gs-gold); margin-bottom:28px; }

.gs-statbar { background:#181818; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #2a2a2a; border-bottom:1px solid #2a2a2a; }
.gs-stat { padding:32px 24px; text-align:center; border-right:1px solid #2a2a2a; }
.gs-stat:last-child { border-right:none; }
.gs-stat-num { font-family:var(--gs-font-display); font-size:48px; font-weight:300; color:#fff; line-height:1; text-transform:uppercase; }
.gs-stat-num span { font-size:24px; color:var(--gs-ash); }
.gs-stat-label { font-size:12px; letter-spacing:1.2px; text-transform:uppercase; color:var(--gs-ash); margin-top:8px; }

.gs-tile { display:flex; flex-direction:column; position:relative; background:#202020; overflow:hidden; text-decoration:none; transition:background 180ms; }
.gs-tile:hover { background:#2a2a2a; }
.gs-tile-ph { aspect-ratio:3/4; background:#181818; display:flex; align-items:center; justify-content:center; }
.gs-tile-body { padding:24px; border-top:1px solid #2a2a2a; }

.gs-card { background:#202020; display:flex; flex-direction:column; }
.gs-card-media { aspect-ratio:4/3; background:#181818; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.gs-card-info { padding:24px; }
.gs-card-range { font-size:11px; letter-spacing:1.4px; text-transform:uppercase; color:var(--gs-ash); }
.gs-card-title { font-family:var(--gs-font-display); font-size:22px; text-transform:uppercase; color:#fff; margin:6px 0 8px; }
.gs-card-price .from { font-size:12px; color:var(--gs-ash); margin-right:4px; }
.gs-card-price strong { font-family:var(--gs-font-display); font-size:24px; color:#fff; }

.gs-badge-gold { background:var(--gs-gold); color:#000; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:4px 10px; }
.gs-badge-dark { background:#333; color:#fff; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:4px 10px; }

.gs-section-dark { background:#181818; }
.gs-section-char { background:#202020; }

.gs-timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:0; counter-reset:tl; }
.gs-tl-step { padding:32px 28px; border-right:1px solid #2a2a2a; counter-increment:tl; position:relative; }
.gs-tl-step:last-child { border-right:none; }
.gs-tl-step::before { content:counter(tl,decimal-leading-zero); font-family:var(--gs-font-display); font-size:48px; color:#2a2a2a; display:block; margin-bottom:16px; line-height:1; }
.gs-tl-step h3 { font-family:var(--gs-font-display); font-size:18px; text-transform:uppercase; color:var(--gs-gold); margin-bottom:12px; }
.gs-tl-step p { color:var(--gs-ash); font-size:15px; line-height:1.6; }

.gs-testi { background:#202020; padding:32px; border:1px solid #2a2a2a; }
.gs-testi blockquote { font-size:17px; line-height:1.6; color:#F5F5F5; font-style:italic; margin:0 0 20px; }
.gs-testi .who { display:flex; align-items:center; gap:12px; }
.gs-testi .who .name { font-weight:600; color:#fff; font-size:14px; }
.gs-testi .who .role { color:var(--gs-ash); font-size:12px; letter-spacing:0.8px; }

.gs-compare table { width:100%; border-collapse:collapse; }
.gs-compare th, .gs-compare td { padding:14px 16px; border:1px solid #2a2a2a; font-size:14px; text-align:left; }
.gs-compare thead th { background:#181818; font-family:var(--gs-font-display); font-size:16px; text-transform:uppercase; color:#fff; }
.gs-compare thead .col-feat { color:var(--gs-gold); }
.gs-compare tbody th { color:var(--gs-ash); font-weight:400; }
.gs-compare tbody td { color:#F5F5F5; }
.gs-compare tbody td.yes { color:var(--gs-gold); font-weight:600; }

.gs-faq details { border-bottom:1px solid #2a2a2a; }
.gs-faq summary { padding:20px 0; cursor:pointer; font-family:var(--gs-font-display); font-size:18px; text-transform:uppercase; color:#fff; display:flex; justify-content:space-between; align-items:center; }
.gs-faq .answer { padding:0 0 20px; color:var(--gs-ash); line-height:1.7; }

/* Mega menu styles */
.gs-mega-panel { background:#181818; border-top:2px solid var(--gs-gold); padding:40px; width:100vw; max-width:1200px; }
.gs-mega-blurb { padding:20px; background:#202020; border:1px solid #2a2a2a; transition:background 180ms; }
.gs-mega-blurb:hover { background:#2a2a2a; }
.gs-mega-blurb .icon { color:var(--gs-gold); margin-bottom:12px; }
.gs-mega-blurb h4 { font-family:var(--gs-font-display); font-size:16px; text-transform:uppercase; color:#fff; margin-bottom:6px; }
.gs-mega-blurb p { color:var(--gs-ash); font-size:13px; line-height:1.5; }

/* header */
.gs-header { background:#000; border-bottom:1px solid #2a2a2a; position:sticky; top:0; z-index:9999; }
.gs-header .brand-logo { width:175px; }

/* footer */
.gs-footer { background:#181818; border-top:1px solid #2a2a2a; }
.gs-footer-heading { font-family:var(--gs-font-display); font-size:14px; text-transform:uppercase; letter-spacing:1px; color:#fff; margin-bottom:16px; }
.gs-footer-link { color:var(--gs-ash); font-size:14px; display:block; padding:4px 0; text-decoration:none; transition:color 180ms; }
.gs-footer-link:hover { color:var(--gs-gold); }
.gs-footer-bottom { border-top:1px solid #2a2a2a; padding:24px 0; display:flex; justify-content:space-between; align-items:center; }
.gs-footer-bottom-text { color:var(--gs-iron); font-size:13px; }

/* newsletter band */
.gs-band { background:var(--gs-gold); color:#000; padding:64px 0; text-align:center; }
.gs-band h2 { font-family:var(--gs-font-display); font-size:clamp(32px,5vw,52px); text-transform:uppercase; }
.gs-band p { color:rgba(0,0,0,0.7); font-size:18px; margin-top:12px; }

/* hero */
.gs-hero { background:#000; padding:120px 0; position:relative; overflow:hidden; }
.gs-hero h1 { font-family:var(--gs-font-display); font-size:clamp(60px,10vw,120px); text-transform:uppercase; line-height:0.92; color:#fff; }
.gs-hero .eyebrow { color:var(--gs-gold-text); font-size:12px; letter-spacing:1.6px; text-transform:uppercase; margin-bottom:20px; }
.gs-hero-meta { position:absolute; bottom:32px; right:40px; text-align:right; color:var(--gs-ash); font-size:12px; letter-spacing:1px; text-transform:uppercase; line-height:1.8; }

/* pagehero */
.gs-pagehero { background:#000; padding:80px 0 60px; border-bottom:1px solid #2a2a2a; }
.gs-pagehero h1 { font-family:var(--gs-font-display); font-size:clamp(40px,7vw,80px); text-transform:uppercase; line-height:0.94; color:#fff; margin-top:20px; }
.gs-breadcrumb { font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--gs-ash); }
.gs-breadcrumb a { color:var(--gs-ash); text-decoration:none; }
.gs-breadcrumb a:hover { color:var(--gs-gold); }

/* popup */
.gs-popup-overlay { background:rgba(0,0,0,0.85); }
.gs-popup-inner { background:#181818; border:1px solid #2a2a2a; padding:48px; max-width:480px; }

/* values grid */
.gs-values { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.gs-value { background:#202020; padding:40px 32px; }
.gs-value .ic { color:var(--gs-gold); display:block; margin-bottom:20px; }
.gs-value h3 { font-family:var(--gs-font-display); font-size:20px; text-transform:uppercase; color:#fff; margin-bottom:12px; }
.gs-value p { color:var(--gs-ash); line-height:1.6; }

/* feature list */
.gs-feature-list { list-style:none; padding:0; margin:24px 0 32px; display:flex; flex-direction:column; gap:20px; }
.gs-feature-list li { display:flex; gap:16px; align-items:flex-start; }
.gs-feature-list .ic { color:var(--gs-gold); flex-shrink:0; width:24px; height:24px; margin-top:2px; }
.gs-feature-list h4 { font-family:var(--gs-font-display); font-size:15px; text-transform:uppercase; color:#fff; margin-bottom:4px; }
.gs-feature-list p { color:var(--gs-ash); font-size:14px; line-height:1.5; }
