/* GeoFrame product accent: the logo's gold on forest, scoped to .gf so the rest of the site keeps Frame mint. */
.gf { --gold:#e2b86c; --gold-soft:rgba(226,184,108,.14); --forest-deep:#0d1d14; }
.gf .eyebrow { color:var(--gold); }
.gf .eyebrow b { color:var(--dim); }
.gf h1 em, .gf h2 em { color:var(--gold); font-style:normal; }
.gf .button { background:var(--gold); border-color:var(--gold); color:#1a1405; }
.gf .button:hover { box-shadow:0 0 34px rgba(226,184,108,.32); }
.gf .text-link { color:var(--ink); }
.gf .text-link span { color:var(--gold); }
.gf .signal-marquee i { color:var(--gold); }
.gf .process-list > li > span { color:var(--gold); }

.gf-hero { padding:70px 0 40px; }
.gf-hero-grid { display:grid; grid-template-columns:.95fr 1.15fr; gap:56px; align-items:center; }
.gf-lockup { width:300px; margin:0 0 30px; }
.gf-hero h1 { margin:0; font-size:clamp(2.6rem,5.2vw,4.6rem); line-height:1.02; letter-spacing:-.045em; }
.gf-hero .lede { color:var(--muted); font-size:1.15rem; max-width:540px; margin:26px 0 34px; }
.gf-hero .hero-actions { display:flex; flex-wrap:wrap; gap:26px; align-items:center; }

.gf-viewport { position:relative; margin:0; border:1px solid rgba(226,184,108,.35); background:var(--forest-deep); box-shadow:var(--shadow); }
.gf-viewport .vp-top, .gf-viewport .vp-bottom { display:flex; justify-content:space-between; gap:12px; padding:12px 16px; font:.64rem "SFMono-Regular",Consolas,monospace; letter-spacing:.12em; color:var(--muted); }
.gf-viewport .vp-top i { color:var(--gold); font-style:normal; }
.gf-viewport img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.gf-viewport .vp-bottom { color:var(--dim); border-top:1px solid var(--line); }
.gf-corner { position:absolute; width:26px; height:26px; border-color:var(--gold); }
.gf-corner.a { left:-1px; top:-1px; border-left:2px solid; border-top:2px solid; }
.gf-corner.b { right:-1px; bottom:-1px; border-right:2px solid; border-bottom:2px solid; }

.gf-metrics { display:grid; grid-template-columns:repeat(3,1fr); margin-top:46px; border-top:1px solid var(--line); }
.gf-metrics div { padding:18px 18px 0 0; }
.gf-metrics strong { display:block; font-size:2rem; letter-spacing:-.03em; }
.gf-metrics span { color:var(--muted); font:.68rem "SFMono-Regular",Consolas,monospace; letter-spacing:.1em; text-transform:uppercase; }

.gf-split { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; }
.gf-split > .eyebrow { align-self:start; font-size:.72rem; margin-top:12px; }
.gf-split h2 { margin:0 0 26px; font-size:clamp(2rem,3.6vw,3.2rem); line-height:1.06; letter-spacing:-.035em; }
.gf-split p { color:var(--muted); font-size:1.1rem; margin:0 0 18px; }

.gf-audiences { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.gf-card { position:relative; padding:28px; border:1px solid var(--line); background:rgba(7,20,24,.65); min-height:430px; }
.gf-card .card-index { color:var(--gold); font-size:.7rem; letter-spacing:.14em; }
.gf-card img { margin:22px 0; aspect-ratio:16/9; object-fit:cover; width:100%; border:1px solid var(--line); }
.gf-card h3 { margin:0 0 8px; font-size:1.4rem; }
.gf-card p { margin:0; color:var(--muted); }

.gf-pricing { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); }
.gf-tier { padding:30px 26px; border-right:1px solid var(--line); display:flex; flex-direction:column; }
.gf-tier:last-child { border-right:0; }
.gf-tier.is-featured { background:linear-gradient(180deg, var(--gold-soft), transparent 70%); box-shadow:inset 0 2px 0 var(--gold); }
.gf-tier .card-index { color:var(--dim); font-size:.68rem; letter-spacing:.14em; }
.gf-tier h3 { margin:16px 0 4px; font-size:1.35rem; }
.gf-tier .price { font-size:2.3rem; letter-spacing:-.04em; margin:10px 0 2px; }
.gf-tier .price.is-quoted { font-size:1.5rem; letter-spacing:-.02em; padding:10px 0 7px; }
.gf-tier .price small { font-size:.85rem; color:var(--muted); letter-spacing:0; }
.gf-tier ul { list-style:none; margin:18px 0 0; padding:0; color:var(--muted); font-size:.93rem; }
.gf-tier li { padding:8px 0; border-top:1px solid var(--line); }
.gf-tier li::before { content:"+ "; color:var(--gold); font-family:monospace; }
.gf-fineprint { margin:18px 0 0; color:var(--dim); font:.72rem "SFMono-Regular",Consolas,monospace; letter-spacing:.04em; }

.gf-honest { display:grid; grid-template-columns:repeat(2,1fr); margin:0; border-top:1px solid var(--line); }
.gf-honest div { padding:26px 26px 26px 0; border-bottom:1px solid var(--line); }
.gf-honest dt { font-weight:700; margin-bottom:6px; }
.gf-honest dd { margin:0; color:var(--muted); }

.gf-cta { border:1px solid rgba(226,184,108,.35); background:radial-gradient(circle at 85% 20%, rgba(226,184,108,.12), transparent 26rem), var(--forest-deep); padding:64px; }
.gf-cta h2 { margin:0 0 28px; max-width:820px; font-size:clamp(2rem,3.6vw,3.1rem); line-height:1.08; letter-spacing:-.035em; }
.gf-cta .hero-actions { display:flex; flex-wrap:wrap; gap:26px; align-items:center; }

/* Home-page band */
.gf-band-section { padding-top:0; }
.gf-band { display:grid; grid-template-columns:1fr 1.1fr; border:1px solid rgba(226,184,108,.35); background:var(--forest-deep); overflow:hidden; }
.gf-band .copy { padding:46px; }
.gf-band .copy .gf-lockup { width:210px; margin:14px 0 26px; }
.gf-band h2 { margin:0 0 14px; font-size:2.2rem; line-height:1.08; letter-spacing:-.03em; }
.gf-band p { color:var(--muted); margin:0 0 26px; }
.gf-band .hero-actions { display:flex; flex-wrap:wrap; gap:26px; align-items:center; }
.gf-band .shot { width:100%; height:100%; min-height:380px; object-fit:cover; }

@media (max-width: 980px) {
  .gf-hero-grid, .gf-split, .gf-band { grid-template-columns:1fr; }
  .gf-split { gap:20px; }
  .gf-audiences { grid-template-columns:1fr; }
  .gf-pricing { grid-template-columns:1fr 1fr; }
  .gf-tier:nth-child(2) { border-right:0; }
  .gf-tier:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .gf-band .shot { min-height:280px; }
}
@media (max-width: 620px) {
  .gf-pricing, .gf-honest { grid-template-columns:1fr; }
  .gf-tier { border-right:0; border-bottom:1px solid var(--line); }
  .gf-cta, .gf-band .copy { padding:30px 22px; }
  .gf-lockup { width:230px; }
}
.gf-lockup, .gf-viewport img, .gf-card img { height:auto; }
