/* ============================================================================
   BRIDGES 71-90 — thirteen stores and seven websites.
   ==========================================================================*/
/* ---------- Groundtruth — aerial survey & mapping (WEBSITE) -----------------
   STRUCTURAL MOVE: two photograph-free ICON ROWS are the page's spine — a
   four-up of claim tiles near the top and a six-up process strip lower down —
   running inside one container that never changes width, and that container is
   broken exactly ONCE: the testimonial band goes edge to edge over a dimmed
   photograph, the only dark thing on a bone page. Accent is a drawing-line
   blue: icons, the rule under each title, links, the button. Never a fill. */
body.t-groundtruth.ws-body { --bg: #f2f0ea; --fg: #3f4c54; --heading: #101a22; --text: #3f4c54; --muted: #7e8a92;
  --gt-line: #d8d4c8; --gt-tile: #e9e6dd; --gt-blue: #2e6f8e; --gt-ink: #101a22; }
body.t-groundtruth { background: var(--bg); }
body.t-groundtruth .ws-container:not(.ws-narrow), body.t-groundtruth .ws-titleblock .ws-narrow { max-width: 1120px; padding: 0 30px; }
body.t-groundtruth .ws-section { padding: 92px 0; }
/* every contained band sits on the same bone ground — no zebra tint; the quote
   band is excluded so it keeps the photograph it is painted with below */
body.t-groundtruth .ws-section:nth-child(even):not(.ws-cta):not(.ws-shoplink):not(.ws-testimonials) { background: var(--bg); }

/* nav — fixed and near-transparent, so the hero photograph runs under it */
body.t-groundtruth .ws-nav { position: fixed; top: 0; left: 0; right: 0; border-bottom: 0;
  background: color-mix(in srgb, var(--gt-ink) 46%, transparent); backdrop-filter: saturate(1.2) blur(8px); }
body.t-groundtruth .ws-nav-inner { height: 76px; color: #f2f0ea; }
body.t-groundtruth .ws-brand { text-transform: uppercase; letter-spacing: 0.32em; font-size: 12.5px; font-weight: 700; color: #f2f0ea; }
body.t-groundtruth .ws-nav-links a { text-transform: uppercase; letter-spacing: 0.18em; font-size: 10.5px; font-weight: 600; opacity: 0.82; }
body.t-groundtruth .ws-nav-links a:hover, body.t-groundtruth .ws-nav-links a.on { color: #9ecbe2; opacity: 1; }

/* hero — full viewport, one photograph, copy pinned left and low */
body.t-groundtruth .ws-hero { min-height: 100vh; align-items: flex-end; --hero-a: rgba(16,26,34,0.16); --hero-b: rgba(16,26,34,0.66); }
body.t-groundtruth .ws-hero-inner { max-width: 1120px; padding: 0 30px 92px; }
body.t-groundtruth .ws-hero h1 { font-size: clamp(36px, 6vw, 68px); font-weight: 600; letter-spacing: -0.035em; line-height: 1.03; max-width: 16ch; text-shadow: none; }
body.t-groundtruth .ws-hero p { font-size: 15.5px; line-height: 1.7; max-width: 52ch; opacity: 0.9; margin: 0 0 30px; }
body.t-groundtruth.ws-body .btn.brand, body.t-groundtruth.ws-body .ws-hero-cta.btn.brand { background: #2e6f8e; color: #f2f0ea;
  border-radius: 0; box-shadow: none; text-transform: uppercase; letter-spacing: 0.2em; font-size: 10.5px; font-weight: 700; padding: 16px 30px; }
body.t-groundtruth.ws-body .btn.brand:hover, body.t-groundtruth.ws-body .ws-hero-cta.btn.brand:hover { background: #24586f; }

/* titles — left, small caps, a survey-line rule under each */
body.t-groundtruth .ws-h2, body.t-groundtruth .ws-title-h, body.t-groundtruth .ws-story-copy h2 { text-align: left; text-transform: uppercase;
  letter-spacing: 0.22em; font-size: 11px; font-weight: 700; color: var(--heading); margin: 0 0 26px; }
body.t-groundtruth .ws-h2::after, body.t-groundtruth .ws-title-h::after { content: ''; display: block; width: 46px; height: 2px; background: var(--gt-blue); margin: 14px 0 0; }
body.t-groundtruth .ws-sub, body.t-groundtruth .ws-title-sub { text-align: left; margin: 0 0 34px; max-width: 46ch; font-size: 15px; }

/* ICON ROW ONE — four claim tiles, no photograph */
body.t-groundtruth .ws-features-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
body.t-groundtruth .ws-feature { background: var(--gt-tile); text-align: left; padding: 28px 24px; }
body.t-groundtruth .ws-feature-icon { color: var(--gt-blue); margin: 0; }
body.t-groundtruth .ws-feature-icon .ws-ico { width: 24px; height: 24px; }
body.t-groundtruth .ws-feature h3 { font-size: 15px; font-weight: 700; margin: 18px 0 8px; color: var(--heading); }
body.t-groundtruth .ws-feature p { font-size: 13.5px; line-height: 1.7; color: var(--text); margin: 0; }
/* ICON ROW TWO — the same device again, six across: the page's habit */
body.t-groundtruth #features-2 .ws-features-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
body.t-groundtruth #features-2 .ws-feature { padding: 24px 18px; }

/* the only asymmetric block — one paragraph against eight tiled capabilities */
body.t-groundtruth .ws-cols { gap: 64px; }
body.t-groundtruth .ws-col + .ws-col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 26px; }
body.t-groundtruth .ws-col + .ws-col .ws-col-h { grid-column: 1 / -1; }
body.t-groundtruth .ws-col + .ws-col p { border-top: 1px solid var(--gt-line); padding: 13px 0; margin: 0; font-size: 13.5px; }
body.t-groundtruth .ws-col-h { text-transform: uppercase; letter-spacing: 0.2em; font-size: 11px; font-weight: 700; color: var(--gt-blue); margin: 0 0 20px; }

/* THE ONE BREAK — full bleed, dark, laid over a dimmed photograph */
body.t-groundtruth .ws-testimonials:not(.ws-cta):not(.ws-shoplink) { background-color: var(--gt-ink);
  background-image: linear-gradient(rgba(16,26,34,0.84), rgba(16,26,34,0.9)), url("/media/samples/aer_band.jpg");
  background-size: cover; background-position: center; padding: 124px 0; }
body.t-groundtruth .ws-testimonials-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
body.t-groundtruth .ws-quote { background: transparent; border: 0; border-top: 1px solid rgba(242,240,234,0.3); border-radius: 0; box-shadow: none; padding: 22px 0 0; }
body.t-groundtruth .ws-quote blockquote { color: #f2f0ea; font-size: 15.5px; line-height: 1.75; }
body.t-groundtruth .ws-quote blockquote::before { content: none; }
body.t-groundtruth .ws-quote figcaption, body.t-groundtruth .ws-quote figcaption .muted { color: #93aebe; text-transform: uppercase; letter-spacing: 0.14em; font-size: 10px; font-weight: 700; }

/* the mass of the page, deferred until well past halfway — four across, twice */
body.t-groundtruth .ws-gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px 18px; }
body.t-groundtruth .ws-gallery-item img { border-radius: 0; aspect-ratio: 1 / 1; }
body.t-groundtruth .ws-gallery-cap strong { font-size: 13px; font-weight: 700; color: var(--heading); }
body.t-groundtruth .ws-gallery-cap span { text-transform: uppercase; letter-spacing: 0.14em; font-size: 10px; font-weight: 700; color: var(--gt-blue); }

/* two oversized portraits where four would go */
body.t-groundtruth .ws-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px; }
body.t-groundtruth .ws-member { text-align: left; }
body.t-groundtruth .ws-member-photo img { width: 100%; height: auto; aspect-ratio: 4 / 5; border-radius: 0; margin: 0 0 18px; }
body.t-groundtruth .ws-story-media img { border-radius: 0; aspect-ratio: 4 / 3; }

/* the close — a narrow form, with the three standing lines dropped BELOW it */
body.t-groundtruth .ws-contact .ws-narrow { max-width: 560px; display: flex; flex-direction: column; }
body.t-groundtruth .ws-contact .ws-sub { order: 3; margin: 40px 0 0; white-space: pre-line; font-size: 12px; line-height: 2.1; letter-spacing: 0.05em; color: var(--muted); }
body.t-groundtruth .ws-field label { text-transform: uppercase; letter-spacing: 0.14em; font-size: 10.5px; font-weight: 700; color: var(--muted); }
body.t-groundtruth .ws-field input, body.t-groundtruth .ws-field textarea { border-radius: 0; border-color: var(--gt-line); background: transparent; }

@media (max-width: 1040px) { body.t-groundtruth #features-2 .ws-features-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  body.t-groundtruth .ws-features-grid, body.t-groundtruth #features-2 .ws-features-grid,
  body.t-groundtruth .ws-gallery-grid, body.t-groundtruth .ws-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.t-groundtruth .ws-col + .ws-col { grid-template-columns: 1fr; }
  body.t-groundtruth .ws-testimonials-grid { grid-template-columns: 1fr; }
}

/* night — first light becomes before-light: the same page, lamp on */
html[data-theme="dark"] body.t-groundtruth.ws-body { --bg: #0e161c; --fg: #a9b6be; --heading: #eef0ea; --text: #a9b6be; --muted: #74838c;
  --gt-line: #24313a; --gt-tile: #16212a; --gt-blue: #6aa8c6; --gt-ink: #0a1116; }
html[data-theme="dark"] body.t-groundtruth { background: #0e161c; }
html[data-theme="dark"] body.t-groundtruth .ws-section:nth-child(even):not(.ws-cta):not(.ws-shoplink):not(.ws-testimonials) { background: #0e161c; }
html[data-theme="dark"] body.t-groundtruth .ws-nav { background: color-mix(in srgb, #0a1116 58%, transparent); }
html[data-theme="dark"] body.t-groundtruth .ws-testimonials:not(.ws-cta):not(.ws-shoplink) { background-image: linear-gradient(rgba(6,11,15,0.88), rgba(6,11,15,0.92)), url("/media/samples/aer_band.jpg"); }
html[data-theme="dark"] body.t-groundtruth.ws-body .btn.brand, html[data-theme="dark"] body.t-groundtruth.ws-body .ws-hero-cta.btn.brand { background: #2e6f8e; color: #f2f0ea; }
html[data-theme="dark"] body.t-groundtruth.ws-body .btn.brand:hover, html[data-theme="dark"] body.t-groundtruth.ws-body .ws-hero-cta.btn.brand:hover { background: #3d84a5; }
