/* Geometry only. Engine supplies colors, typography, buttons and Bootstrap tabs. */
.go-gob-title { max-width: 13ch; text-wrap: balance; }
.go-gob-wordmark { font-size: 1.5rem; font-weight: 850; letter-spacing: -.055em; }
.go-gob-brand-icon { border-radius: 22%; }
.go-gob-eyebrow { font-size: .8rem; font-weight: 700; }
.go-gob-section-heading { max-width: 780px; }
.go-gob-store-status { display: inline-flex; align-items: center; gap: .6rem; padding: .85rem 1rem; border-radius: .8rem; font-size: .9rem; font-weight: 650; }
.go-gob-hero-stage { position: relative; height: 550px; max-width: 540px; margin-inline: auto; }
.go-gob-hero-panel { position: absolute; inset: 8% 0 7% 8%; }
.go-gob-phone { display: block; height: auto; border-radius: 1.8rem; border: 5px solid var(--bs-border-color, var(--x-border-color)); }
.go-gob-hero-phone { position: absolute; top: 0; left: 12%; width: 235px; }
.go-gob-hero-gob { position: absolute; right: 0; bottom: 6%; width: 48%; height: auto; pointer-events: none; }
.go-gob-feature-icon { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: .85rem; font-size: 1.5rem; }
.go-gob-story-card { display: flex; flex-direction: column; }
.go-gob-story-art { position: relative; height: 210px; margin-bottom: 1rem; }
.go-gob-story-art img { display: block; width: 100%; height: 100%; object-fit: contain; }
.go-gob-chapter { font-size: 2.5rem; font-weight: 800; line-height: 1; letter-spacing: -.05em; }
.go-gob-story-art .go-gob-chapter { position: absolute; top: 0; left: 0; }
.go-gob-speech { padding: 1rem 1.2rem; border-radius: 1.25rem 1.25rem 1.25rem .2rem; line-height: 1.5; }
.go-gob-demo-tabs { scrollbar-width: none; }
.go-gob-demo-tabs::-webkit-scrollbar { display: none; }
.go-gob-demo-tabs .nav-link { padding: 1rem; border-radius: .8rem; white-space: nowrap; }
.go-gob-demo-tabs .nav-link:not(.active) { color: var(--bs-heading-color, var(--x-heading-color)); background: var(--bs-body-bg, var(--x-body-bg)); }
/* Hidden panes share intrinsic tracks: titles, copy and media keep their positions. */
.go-gob-demo-content { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(5, auto); gap: 1.5rem; }
.go-gob-demo-content.tab-content > .tab-pane { display: grid; grid-area: 1 / 1 / span 5 / -1; grid-template-columns: subgrid; grid-template-rows: subgrid; min-width: 0; visibility: hidden; pointer-events: none; align-items: start; }
.go-gob-demo-content.tab-content > .tab-pane.active { visibility: visible; pointer-events: auto; }
.go-gob-demo-number { grid-area: 1 / 1; }
.go-gob-demo-title { grid-area: 2 / 1; margin: 0; }
.go-gob-demo-copy { grid-area: 3 / 1; margin: 0; }
.go-gob-demo-voice { grid-area: 4 / 1; }
.go-gob-demo-scene { grid-area: 5 / 1; }
@media (min-width: 992px) {
    .go-gob-demo-content { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: repeat(4, auto); column-gap: 2rem; }
    .go-gob-demo-content.tab-content > .tab-pane { grid-row: 1 / span 4; }
    .go-gob-demo-scene { grid-area: 1 / 2 / span 4 / 3; }
}
.go-gob-demo-scene { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.go-gob-screen-link { position: absolute; height: 90%; top: 5%; right: 10%; border-radius: 1.8rem; }
.go-gob-screen-link .go-gob-phone { height: 100%; width: auto; object-fit: contain; }
.go-gob-scene-word { position: absolute; top: 22%; left: 6%; font-size: clamp(3.5rem, 7vw, 7rem); font-weight: 900; line-height: .95; letter-spacing: -.06em; opacity: .24; }
.go-gob-demo-voice { display: flex; align-items: center; gap: 1rem; }
.go-gob-demo-voice img { width: 36%; height: 190px; object-fit: contain; }
.go-gob-demo-voice .go-gob-speech { flex: 1; }
.go-gob-scene-fire { position: absolute; width: 21%; height: auto; bottom: 6%; left: 13%; pointer-events: none; }
.go-gob-plan { overflow: hidden; }
.go-gob-plan-price { font-size: clamp(2.6rem, 4vw, 3.5rem); font-weight: 850; line-height: 1.15; letter-spacing: -.055em; white-space: nowrap; }
.go-gob-plan-saving { padding: .5rem .75rem; border-radius: .6rem; font-size: .8rem; }
.go-gob-trial-art { position: relative; height: 275px; }
.go-gob-trial-art img { position: absolute; width: 70%; height: 90%; object-fit: contain; right: 0; bottom: 0; }
.go-gob-trial-seven { position: absolute; font-size: 15rem; font-weight: 900; line-height: 1; top: 0; left: 0; opacity: .28; }
.go-gob-helping { width: min(100%, 150px); height: auto; object-fit: contain; }
.go-gob-celebrating { width: min(100%, 220px); height: auto; object-fit: contain; }
.go-gob-faq summary { cursor: pointer; list-style: none; }
.go-gob-faq summary::-webkit-details-marker { display: none; }
.go-gob-faq-plus { transition: transform .15s ease; }
.go-gob-faq[open] .go-gob-faq-plus { transform: rotate(45deg); }
.go-gob-landing :is(a, button, summary, [tabindex]):focus-visible { outline: 3px solid var(--bs-primary, var(--x-primary)); outline-offset: 4px; }
.go-gob-landing [id] { scroll-margin-top: 6rem; }
@media (max-width: 991.98px) {
    .go-gob-title { max-width: 20ch; }
    .go-gob-hero-stage { height: 510px; max-width: 480px; margin-top: 2rem; }
    .go-gob-hero-phone { width: 220px; }
    .go-gob-demo-tabs .nav-link { white-space: nowrap; }
}
@media (max-width: 575.98px) {
    .go-gob-hero-stage { height: 430px; }
    .go-gob-hero-phone { width: 185px; left: 5%; }
    .go-gob-hero-gob { width: 50%; bottom: 7%; }
    .go-gob-phone { border-width: 3px; border-radius: 1rem; }
    .go-gob-screen-link { right: 9%; }
    .go-gob-story-art { height: 180px; }
    .go-gob-demo-voice img { height: 150px; }
    .go-gob-scene-word { font-size: 3.5rem; }
    .go-gob-trial-art { max-width: 300px; margin-inline: auto; }
}
@media (prefers-reduced-motion: reduce) {
    .go-gob-landing *, .go-gob-landing *::before, .go-gob-landing *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
