/* GCA page system v3 (services, system). 2026-10-03. Loads after v2.css.
   Zig-zag story rows: one real image per row, alternating sides, even rhythm top to bottom. */

/* hero: real photo, very slow zoom, solid panel behind text */
.v3-hero { position: relative; min-height: 84vh; display: flex; align-items: flex-end; overflow: hidden; background: #071E3D; }
.v3-hero__img { position: absolute; inset: 0; background-size: cover; background-position: center; transform-origin: 60% 50%;
  animation: v3zoom 40s ease-in-out infinite alternate; }
@keyframes v3zoom { from { transform: scale(1); } to { transform: scale(1.08); } }
.v3-hero .v2-wrap { position: relative; z-index: 2; width: 100%; padding: 140px 24px 72px; }

/* story rows */
.v3-row { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; padding: 72px 0; border-bottom: 1px solid #E8EBF0; }
.v3-row:last-child { border-bottom: none; }
.v3-row--flip .v3-row__media { order: 2; }
.v3-row__media img { width: 100%; display: block; box-shadow: 0 24px 56px rgba(11,49,98,.20); border-radius: 2px; }
.v3-row__media--photo img { aspect-ratio: 4/3; object-fit: cover; }
.v3-row__media--doc img { box-shadow: none; }
.v3-step { display: inline-flex; align-items: center; gap: 12px; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: .95rem;
  letter-spacing: 3px; text-transform: uppercase; color: #8C6F24; margin-bottom: 12px; }
.v3-step b { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #0B3162; color: #FFFFFF;
  font-family: 'Bebas Neue', sans-serif; font-weight: 400; font-size: 1.4rem; letter-spacing: 0; }
.v3-row h2 { font-family: 'Bebas Neue', sans-serif; font-weight: 400; font-size: clamp(2.4rem, 4vw, 3.4rem); line-height: 1; color: #0B3162; margin: 0 0 22px; }
.v3-pair { display: grid; gap: 14px; }
.v3-pair p { margin: 0; padding: 16px 20px; font-size: 1.15rem; line-height: 1.55; border-radius: 2px; }
.v3-pain { background: #F7F8FA; border-left: 5px solid #8A95A5; }
.v3-gain { background: #0B3162; color: #FFFFFF; border-left: 5px solid #C5A44A; box-shadow: 0 12px 28px rgba(11,49,98,.18); }
.v3-pair p b { display: block; font-family: 'Oswald', sans-serif; font-size: .85rem; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 4px; }
.v3-pain b { color: #5A6577; }
.v3-gain b { color: #C5A44A; }
.v3-ticks { list-style: none; margin: 14px 0 0; padding: 0; }
.v3-ticks li { position: relative; padding: 8px 0 8px 32px; font-size: 1.1rem; }
.v3-ticks li::before { content: ""; position: absolute; left: 4px; top: 14px; width: 14px; height: 8px; border-left: 3px solid #C5A44A; border-bottom: 3px solid #C5A44A; transform: rotate(-45deg); }
.v3-gain .v3-ticks li { color: #FFFFFF; }
.v3-line { margin-top: 18px; font-family: 'Oswald', sans-serif; font-size: 1.2rem; letter-spacing: .5px; color: #D12936; }

/* app window frame for real portal screens */
.v3-window { background: #FFFFFF; border-radius: 6px; overflow: hidden; box-shadow: 0 24px 56px rgba(11,49,98,.22); }
.v3-window__bar { height: 34px; background: #071E3D; display: flex; align-items: center; gap: 8px; padding: 0 14px; }
.v3-window__bar i { width: 11px; height: 11px; border-radius: 50%; background: rgba(255,255,255,.35); display: block; }
.v3-window__bar span { margin-left: 10px; font-family: 'Oswald', sans-serif; font-size: .8rem; letter-spacing: 1.5px; color: #C5A44A; text-transform: uppercase; }
.v3-window img { width: 100%; display: block; box-shadow: none; }
.v3-cap { margin-top: 12px; font-size: .95rem; color: #5A6577; }

/* pricing build-up graphic */
.v3-price { background: #FFFFFF; padding: 30px 30px 26px; box-shadow: 0 24px 56px rgba(11,49,98,.18); border-top: 5px solid #C5A44A; border-radius: 2px; }
.v3-price__t { font-family: 'Oswald', sans-serif; font-size: .9rem; letter-spacing: 2px; text-transform: uppercase; color: #8C6F24; margin-bottom: 18px; }
.v3-stack { display: grid; grid-template-columns: 1fr 120px; gap: 24px; align-items: end; }
.v3-bars { display: flex; flex-direction: column-reverse; }
.v3-seg { display: flex; justify-content: space-between; align-items: center; color: #FFFFFF; padding: 0 16px; font-family: 'Oswald', sans-serif; font-size: 1rem; letter-spacing: .5px; border-bottom: 2px solid #FFFFFF; }
.v3-seg small { font-family: 'Source Sans 3', sans-serif; font-size: .95rem; opacity: .9; }
.v3-seg--d { background: #0B3162; height: 150px; }
.v3-seg--o { background: #19649C; height: 54px; }
.v3-seg--g { background: #2C3E50; height: 40px; }
.v3-seg--p { background: #C5A44A; color: #071E3D; height: 44px; }
.v3-band { position: relative; height: 288px; border-left: 3px dashed #D12936; }
.v3-band__r { position: absolute; left: -3px; right: 0; top: 22px; height: 54px; background: rgba(209,41,54,.10); border: 2px solid #D12936; border-left: none; display: grid; place-items: center;
  font-family: 'Oswald', sans-serif; font-size: .8rem; letter-spacing: 1px; text-transform: uppercase; color: #A81F2B; text-align: center; line-height: 1.2; padding: 0 6px; }
.v3-band__l { position: absolute; bottom: -2px; left: 10px; font-family: 'Oswald', sans-serif; font-size: .8rem; letter-spacing: 1px; text-transform: uppercase; color: #5A6577; }
.v3-price__n { margin-top: 14px; font-size: .9rem; color: #5A6577; }

/* photo cards (system) */
.v3-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.v3-cards--3 { grid-template-columns: repeat(3, 1fr); }
.v3-card { background: #FFFFFF; box-shadow: 0 16px 36px rgba(11,49,98,.14); border-radius: 2px; overflow: hidden; display: flex; flex-direction: column; }
.v3-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.v3-card__b { padding: 22px 22px 26px; border-top: 5px solid #C5A44A; flex: 1; }
.v3-card h3 { font-family: 'Bebas Neue', sans-serif; font-weight: 400; font-size: 2.1rem; line-height: 1; color: #0B3162; margin: 0 0 8px; }
.v3-card p { margin: 0; font-size: 1.08rem; }
.v3-card ul { list-style: none; margin: 10px 0 0; padding: 0; }
.v3-card li { position: relative; padding: 7px 0 7px 28px; font-size: 1.05rem; border-bottom: 1px solid #E8EBF0; }
.v3-card li:last-child { border-bottom: none; }
.v3-card li::before { content: ""; position: absolute; left: 3px; top: 13px; width: 13px; height: 7px; border-left: 3px solid #C5A44A; border-bottom: 3px solid #C5A44A; transform: rotate(-45deg); }
.v3-card--dark { background: #0B3162; color: #FFFFFF; }
.v3-card--dark h3 { color: #FFFFFF; }
.v3-card--dark li { border-bottom-color: rgba(255,255,255,.15); }
.v3-who { font-family: 'Oswald', sans-serif; font-size: .85rem; letter-spacing: 1.5px; text-transform: uppercase; color: #8C6F24; margin-bottom: 6px; }
.v3-card--dark .v3-who { color: #C5A44A; }

/* closing split band */
.v3-close { display: grid; grid-template-columns: 1fr 1fr; background: #0B3162; color: #FFFFFF; border-top: 5px solid #C5A44A; }
.v3-close__img { background-size: cover; background-position: center; min-height: 420px; }
.v3-close__t { padding: 72px 56px; display: flex; flex-direction: column; justify-content: center; }
.v3-close__t .v2-h2 { color: #FFFFFF; }
.v3-close__t p { font-size: 1.25rem; margin: 0 0 30px; }

@media (max-width: 960px) {
  .v3-row { grid-template-columns: 1fr; gap: 28px; padding: 56px 0; }
  .v3-row--flip .v3-row__media { order: 0; }
  .v3-cards, .v3-cards--3 { grid-template-columns: 1fr 1fr; }
  .v3-close { grid-template-columns: 1fr; }
  .v3-close__img { min-height: 260px; }
  .v3-close__t { padding: 48px 24px; }
}
@media (max-width: 640px) {
  .v3-cards, .v3-cards--3 { grid-template-columns: 1fr; }
  .v3-stack { grid-template-columns: 1fr 86px; gap: 14px; }
  .v3-seg { font-size: .9rem; padding: 0 10px; }
  .v3-seg small { display: none; }
  .v3-hero .v2-wrap { padding: 120px 16px 48px; }
}
@media (prefers-reduced-motion: reduce) { .v3-hero__img { animation: none; } }
.v3-close { padding: 0; }
@media (max-width: 640px) { .v3-band__r { font-size: .62rem; } }

/* money-back guarantee band (restored 2026-10-30) */
.v3-guarantee { background: #0B3162; color: #FFFFFF; padding: 80px 0; border-top: 5px solid #C5A44A; border-bottom: 5px solid #C5A44A; scroll-margin-top: 90px; }
.v3-guarantee__inner { display: grid; grid-template-columns: 220px 1fr; gap: 56px; align-items: center; }
.v3-seal svg { width: 100%; height: auto; display: block; }
.v3-seal__ring { fill: none; stroke: #C5A44A; stroke-width: 3; }
.v3-seal__ring--in { stroke-width: 1.5; opacity: .7; }
.v3-seal__arc { font-family: 'Oswald', sans-serif; font-size: 11px; letter-spacing: .5px; fill: #C5A44A; text-anchor: middle; }
.v3-seal__mid { font-family: 'Bebas Neue', sans-serif; font-size: 25px; fill: #FFFFFF; text-anchor: middle; letter-spacing: 1px; }
.v3-guarantee__label { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: .95rem; letter-spacing: 3px; text-transform: uppercase; color: #C5A44A; margin: 0 0 10px; }
.v3-guarantee h2 { font-family: 'Bebas Neue', sans-serif; font-weight: 400; font-size: clamp(2.6rem, 4.4vw, 3.8rem); line-height: 1; color: #FFFFFF; margin: 0 0 18px; }
.v3-guarantee p { font-size: 1.15rem; line-height: 1.6; color: rgba(255,255,255,.88); margin: 0 0 12px; max-width: 720px; }
.v3-guarantee__lead strong { color: #FFFFFF; }
.v3-guarantee__more { margin-top: 18px; max-width: 760px; border-top: 1px solid rgba(197,164,74,.4); padding-top: 14px; }
.v3-guarantee__more summary { cursor: pointer; font-family: 'Oswald', sans-serif; font-size: .9rem; letter-spacing: 2px; text-transform: uppercase; color: #C5A44A; list-style: none; }
.v3-guarantee__more summary::-webkit-details-marker { display: none; }
.v3-guarantee__more summary::after { content: ' +'; }
.v3-guarantee__more[open] summary::after { content: ' \00D7'; }
.v3-guarantee__more ul { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.v3-guarantee__more li { position: relative; font-size: 1.05rem; line-height: 1.55; color: rgba(255,255,255,.85); padding-left: 22px; }
.v3-guarantee__more li::before { content: ''; position: absolute; left: 0; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: #C5A44A; }
.v3-guarantee__more li b { color: #FFFFFF; }
@media (max-width: 860px) { .v3-guarantee__inner { grid-template-columns: 1fr; gap: 28px; } .v3-seal { max-width: 160px; } }
