:root {
  --gv-deep: #174a43;
  --gv-deep-2: #0f3531;
  --gv-terracotta: #b45137;
  --gv-ivory: #f7f3ea;
  --gv-charcoal: #202928;
  --gv-red: #e02424;
  --gv-blue: #2266c7;
  --gv-accent-text: #f0ac94;
  --gv-page: #101817;
  --gv-surface: #172220;
  --gv-surface-soft: #202d2b;
  --gv-text: #f8f6ef;
  --gv-muted: #b8c2bf;
  --gv-line: rgba(247, 243, 234, .16);
  --gv-header: rgba(16, 24, 23, .96);
  --gv-shadow: 0 22px 64px rgba(0, 0, 0, .28);
}

html[data-theme="light"] {
  --gv-accent-text: #a4422b;
  --gv-page: #f7f3ea;
  --gv-surface: #ffffff;
  --gv-surface-soft: #ede8de;
  --gv-text: #202928;
  --gv-muted: #5c6865;
  --gv-line: rgba(32, 41, 40, .16);
  --gv-header: rgba(247, 243, 234, .96);
  --gv-shadow: 0 22px 64px rgba(32, 41, 40, .12);
}

body {
  background: var(--gv-page);
  color: var(--gv-text);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

body::before { display: none; }

h1, h2, h3,
.metric-row strong,
.billing-strip strong,
.plan-price strong {
  font-family: Manrope, Inter, sans-serif;
  letter-spacing: 0;
}

.site-header {
  min-height: 72px;
  grid-template-columns: minmax(190px, 240px) 1fr auto;
  gap: 24px;
  padding: 10px clamp(18px, 4vw, 64px);
  background: var(--gv-header);
  border-color: var(--gv-line);
  backdrop-filter: blur(18px);
}

.brand { gap: 11px; text-decoration: none; color: var(--gv-text); }
.brand img { width: 42px; height: 42px; object-fit: contain; border-radius: 0; }
.brand span { display: grid; line-height: 1; }
.brand strong { font-family: Manrope, Inter, sans-serif; font-size: 1.28rem; letter-spacing: 0; }
.brand small { margin-top: 5px; color: var(--gv-muted); font-size: .63rem; font-weight: 700; text-transform: uppercase; }

.site-nav { gap: 4px; }
.site-nav a,
.login-link {
  min-height: 42px;
  padding: 0 14px;
  border-radius: 6px;
  color: var(--gv-muted);
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: 0;
}
.site-nav a.active,
.site-nav a:hover { color: var(--gv-text); border-color: transparent; background: var(--gv-surface-soft); }
.login-link { color: #fff; background: var(--gv-deep); border-color: var(--gv-deep); box-shadow: none; }
.login-link:hover { background: var(--gv-deep-2); }
.header-actions { display: flex; align-items: center; gap: 8px; }
.theme-toggle { width: 42px; height: 42px; color: var(--gv-text); border-color: var(--gv-line); background: transparent; }
.site-nav-toggle { display: none; }

.market-home { width: 100%; max-width: none; margin: 0; overflow: clip; }
.gv-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.gv-band { padding: clamp(74px, 9vw, 128px) 0; }
.gv-kicker {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--gv-accent-text);
  font-size: .875rem;
  font-weight: 800;
  text-transform: uppercase;
}
.gv-hero {
  position: relative;
  display: grid;
  align-items: center;
  min-height: min(720px, calc(100svh - 98px));
  isolation: isolate;
  overflow: hidden;
  background: #0d1816;
}
.gv-hero-media { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 64% 50%; }
.gv-hero-shade { position: absolute; inset: 0; z-index: -1; background: rgba(10, 24, 21, .78); }
.gv-hero-content { padding-block: 72px; color: #fff; }
.gv-hero-content .gv-kicker { color: #efad99; }
.gv-hero h1 { max-width: none; margin: 0; font-size: 7rem; line-height: 1; overflow-wrap:break-word; }
.gv-hero-tagline { margin: 18px 0 0; color:#fff; font-family: Manrope, Inter, sans-serif; font-size: 2rem; font-weight: 600; }
.gv-hero-copy { max-width: 630px; margin: 24px 0 0; color: #e7eeeb; font-size: 1.125rem; line-height: 1.7; }
.gv-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.market-home .button,
.public-pricing .button {
  min-height: 48px;
  border-radius: 6px;
  padding: 0 20px;
  font-weight: 800;
  letter-spacing: 0;
}
.market-home .button-primary,
.public-pricing .button-primary { color: #fff; background: var(--gv-terracotta); border-color: var(--gv-terracotta); box-shadow: none; }
.market-home .button-secondary,
.public-pricing .button-secondary { color: var(--gv-text); background: transparent; border-color: var(--gv-line); }
.market-home .gv-hero .button-secondary { color: #fff; border-color: rgba(255,255,255,.7); background: rgba(10,24,21,.65); }
.gv-powered { margin: 25px 0 0; color: #b8c7c3; font-size: .76rem; font-weight: 700; text-transform: uppercase; }

.gv-proof { background: var(--gv-deep); color: #fff; }
.gv-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.gv-proof p { min-width: 0; margin: 0; padding: 26px 22px; color:#fff; border-left: 1px solid rgba(255,255,255,.18); }
.gv-proof p:last-child { border-right: 1px solid rgba(255,255,255,.18); }
.gv-proof strong, .gv-proof span { display: block; }
.gv-proof strong { font: 700 1rem Manrope, sans-serif; }
.gv-proof span { margin-top: 7px; color: #e0eae6; font-size: .9375rem; line-height: 1.6; }

.gv-split { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(290px, .7fr); align-items: center; gap: clamp(56px, 10vw, 140px); }
.gv-split-reverse { grid-template-columns: minmax(290px, .7fr) minmax(0, 1fr); }
.gv-copy-block h2, .gv-section-heading h2, .gv-heading-inline h2, .gv-trust h2, .gv-contact h2 { margin: 0; max-width: 760px; font-size: 3.25rem; line-height: 1.12; overflow-wrap:break-word; }
.gv-copy-block > p, .gv-section-heading > p, .gv-heading-inline > p, .gv-directory p, .gv-contact p { max-width: 680px; margin: 24px 0 0; color: var(--gv-muted); font-size: 1.04rem; line-height: 1.75; }
.gv-check-list { display: grid; gap: 12px; margin: 28px 0; padding: 0; list-style: none; }
.gv-check-list li { position: relative; padding-left: 28px; line-height: 1.55; }
.gv-check-list li::before { content: ""; position: absolute; left: 0; top: .62em; width: 12px; height: 3px; background: var(--gv-terracotta); }
.gv-text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--gv-deep); font-weight: 800; text-decoration: none; }
html:not([data-theme="light"]) .gv-text-link { color: #65b6a8; }
.gv-text-link:hover span { transform: translateX(3px); }
.gv-phone-figure { position: relative; width: min(100%, 330px); margin: 0 auto; }
.gv-phone-figure img { display: block; width: 100%; border: 1px solid var(--gv-line); border-radius: 8px; box-shadow: var(--gv-shadow); }
.gv-phone-figure figcaption { margin-top: 14px; color: var(--gv-muted); font-size: .9375rem; text-align: center; }

.gv-operations { background: var(--gv-surface-soft); }
.gv-section-heading { max-width: 850px; margin-bottom: 42px; }
.gv-product-wide { margin: 0; overflow: hidden; border: 1px solid var(--gv-line); border-radius: 8px; box-shadow: var(--gv-shadow); background: var(--gv-surface); }
.gv-product-wide img { display: block; width: 100%; aspect-ratio: 16 / 8.2; object-fit: cover; object-position: top center; }
.gv-feature-columns { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 42px; border-top: 1px solid var(--gv-line); }
.gv-feature-columns article { padding: 28px 24px 0 0; }
.gv-feature-columns article + article { padding-left: 24px; border-left: 1px solid var(--gv-line); }
.gv-feature-columns span { color: var(--gv-accent-text); font-size: .875rem; font-weight: 800; }
.gv-feature-columns h3 { margin: 12px 0 8px; font-size: 1.08rem; }
.gv-feature-columns p { margin: 0; color: var(--gv-muted); font-size: 1rem; line-height: 1.65; }

.gv-lite { background: var(--gv-page); }
.gv-inline-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin: 30px 0; border-block: 1px solid var(--gv-line); }
.gv-inline-stats p { margin: 0; padding: 20px 14px 20px 0; color:var(--gv-text); }
.gv-inline-stats strong, .gv-inline-stats span { display: block; }
.gv-inline-stats strong { font: 800 1rem Manrope, sans-serif; }
.gv-inline-stats span { margin-top: 4px; color: var(--gv-muted); font-size: .9375rem; }

.gv-scale { background: var(--gv-surface-soft); color: var(--gv-text); }
.gv-scale .gv-kicker { color: var(--gv-accent-text); }
.gv-heading-inline { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); align-items: end; gap: 60px; }
.gv-scale .gv-heading-inline > p { color: var(--gv-muted); }
.gv-product-rail { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 56px; border-block: 1px solid var(--gv-line); }
.gv-product-rail article { min-width: 0; padding: 30px 22px 34px; }
.gv-product-rail article + article { border-left: 1px solid var(--gv-line); }
.gv-product-rail strong { color: var(--gv-accent-text); font-size: .875rem; text-transform: uppercase; }
.gv-product-rail h3 { margin: 16px 0 9px; font-size: 1.05rem; }
.gv-product-rail p { margin: 0; color: var(--gv-muted); font-size: 1rem; line-height: 1.65; }

.gv-calendar { background: var(--gv-surface); }
.gv-calendar-layout { display: grid; grid-template-columns: minmax(300px, .7fr) minmax(0, 1.3fr); align-items: center; gap: clamp(44px, 7vw, 90px); }
.gv-product-calendar { margin: 0; overflow: hidden; border: 1px solid var(--gv-line); border-radius: 8px; box-shadow: var(--gv-shadow); }
.gv-product-calendar img { display: block; width: 100%; }
.gv-calendar .button { margin-top: 28px; }

.gv-trust { background: var(--gv-deep); color: #fff; }
.gv-trust-layout { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr); gap: 40px 56px; }
.gv-trust .gv-kicker { color: #efad99; }
.gv-trust-points { display: grid; grid-template-columns: repeat(2, 1fr); }
.gv-trust-points p { margin: 0; padding: 24px; color:#fff; border-top: 1px solid rgba(255,255,255,.3); }
.gv-trust-points p:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.2); }
.gv-trust-points strong, .gv-trust-points span { display: block; }
.gv-trust-points strong { color:#fff; font: 700 1.125rem/1.4 Manrope, sans-serif; }
.gv-trust-points span { margin-top: 12px; color: #e0eae6; font-size: 1rem; line-height: 1.7; }
.gv-link-light { color: #fff !important; }

.gv-directory { background: var(--gv-page); color: var(--gv-text); }
.gv-directory .gv-heading-inline > div:last-child { max-width: 500px; }
.gv-directory p { color: var(--gv-muted); }
.gv-directory .button { margin-top: 24px; }

.gv-contact { background: var(--gv-surface-soft); }
.gv-contact-layout { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: clamp(40px, 8vw, 110px); align-items: start; }
.gv-contact .contact-form { margin: 0; padding: 28px; border: 1px solid var(--gv-line); border-radius: 8px; background: var(--gv-surface); box-shadow: none; }
.gv-contact input, .gv-contact select, .gv-contact textarea { color: var(--gv-text); background: var(--gv-page); border-color: var(--gv-line); }
.gv-contact input::placeholder, .gv-contact textarea::placeholder { color:var(--gv-muted); opacity:1; }
.gv-contact .human-check { background:var(--gv-page); border-color:var(--gv-line); border-radius:6px; }
.gv-contact .human-check strong { color:var(--gv-text); }
.gv-contact .human-check span, .gv-contact .character-counter { color:var(--gv-muted); font-size:.9375rem; }

.site-footer { width: 100%; max-width: none; margin: 0; padding: 64px max(24px, calc((100vw - 1180px) / 2)); background: var(--gv-charcoal); color: #f7f3ea; border-top: 0; }
.footer-brand { max-width: 390px; }
.footer-wordmark { display: flex; align-items: center; gap: 12px; }
.footer-wordmark img { width: 48px; height: 48px; object-fit: contain; border-radius: 0; }
.footer-wordmark span { display: grid; }
.footer-wordmark strong { font: 800 1.3rem Manrope, sans-serif; }
.footer-wordmark small { margin-top: 4px; color: #b7c2bf; }
.footer-brand > p { color: #b7c2bf; }
.powered-by { color: #d38369; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.footer-links a, .footer-contact a { color: #dce3e1; }
.site-footer .footer-extra-links a { color:#dce3e1; }
.site-footer .footer-contact { color:#cbd8d4; }

/* Shared public pages retain the same Guatiao surfaces as the new homepage. */
.brand-page-hero,
.brand-story-grid article,
.promise-section,
.standalone-contact {
  color: var(--gv-text);
  background: var(--gv-surface);
  border-color: var(--gv-line);
  border-radius: 8px;
  box-shadow: none;
}
.brand-page-hero img {
  width: min(190px, 44vw);
  height: auto;
  border: 0;
  border-radius: 0;
}
.brand-page-hero p,
.brand-story-grid p,
.promise-section p,
.standalone-contact p { color: var(--gv-muted); }
.feature-page-hero {
  background-image: url('/assets/product-people.png');
  background-position: center 20%;
}
.feature-page-hero::before {
  background: rgba(10, 24, 21, .84);
}
.feature-page-hero h1,
.feature-page-hero p { color: #fff; }
.standalone-contact { border-left: 4px solid var(--gv-terracotta); }
.standalone-contact .contact-details a { color: var(--gv-accent-text); }

.market-home a:focus-visible, .site-header a:focus-visible, .site-header button:focus-visible, .site-footer a:focus-visible { outline:3px solid var(--gv-accent-text); outline-offset:4px; }
.market-home section[id] { scroll-margin-top:96px; }
.market-home .button, .gv-text-link span { transition:transform 180ms ease, box-shadow 180ms ease; }
.market-home .button:hover { transform:translateY(-2px); box-shadow:0 4px 12px #0002; }
/* Only visible elements animate; content never depends on JavaScript to appear. */
.gv-reveal-once { animation:gv-enter 500ms ease-out both; }
@keyframes gv-enter { from { opacity:.7; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto auto; gap: 8px; }
  .site-nav-toggle { display: inline-grid; place-content: center; gap: 4px; width: 42px; height: 42px; padding: 0; border: 1px solid var(--gv-line); border-radius: 6px; background: transparent; }
  .site-nav-toggle span { display: block; width: 18px; height: 2px; background: var(--gv-text); }
  .site-nav { position: absolute; top: calc(100% + 1px); left: 0; right: 0; display: none; padding: 14px 18px 20px; background: var(--gv-header); border-bottom: 1px solid var(--gv-line); }
  .site-nav.is-open { display: grid; }
  .site-nav a { justify-content: flex-start; }
  .gv-proof-grid { grid-template-columns: repeat(2, 1fr); }
  .gv-proof p:nth-child(3) { border-top: 1px solid rgba(255,255,255,.18); }
  .gv-proof p:nth-child(4) { border-top: 1px solid rgba(255,255,255,.18); }
  .gv-split, .gv-split-reverse, .gv-calendar-layout, .gv-contact-layout { grid-template-columns: 1fr 1fr; gap: 44px; }
  .gv-feature-columns { grid-template-columns: repeat(2, 1fr); }
  .gv-feature-columns article:nth-child(3) { border-left: 0; padding-left: 0; }
  .gv-product-rail { grid-template-columns: repeat(2, 1fr); }
  .gv-product-rail article:nth-child(odd) { border-left: 0; }
  .gv-product-rail article:nth-child(n+3) { border-top: 1px solid var(--gv-line); }
  .gv-trust-layout, .gv-heading-inline { grid-template-columns:1fr; gap:32px; }
  .gv-copy-block h2, .gv-section-heading h2, .gv-heading-inline h2, .gv-trust h2, .gv-contact h2 { font-size:2.5rem; }
}

@media (max-width: 720px) {
  .site-header { min-height: 64px; padding: 9px 14px; }
  .brand img { width: 38px; height: 38px; }
  .brand strong { font-size: 1.08rem; }
  .brand small { display: none; }
  .theme-toggle { width: 40px; height: 40px; }
  .login-link { min-height: 40px; padding: 0 12px; }
  .gv-shell { width: min(100% - 28px, 1180px); }
  .gv-band { padding: 72px 0; }
  .gv-hero { min-height:min(650px,calc(100svh - 96px)); align-items:center; }
  .gv-hero-media { object-position: 67% center; }
  .gv-hero-shade { background: rgba(10,24,21,.84); }
  .gv-hero-content { padding-block: 38px; }
  .gv-hero h1 { font-size: 3.75rem; }
  .gv-hero-tagline { font-size:1.5rem; }
  .gv-hero-copy { font-size: 1rem; }
  .gv-actions { display: grid; grid-template-columns: 1fr; }
  .gv-actions .button { width: 100%; }
  .gv-proof-grid { grid-template-columns: 1fr; }
  .gv-proof p { padding: 20px 0; border-left: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .gv-proof p:last-child { border-right: 0; border-bottom: 0; }
  .gv-split, .gv-split-reverse, .gv-calendar-layout, .gv-contact-layout, .gv-heading-inline, .gv-trust-layout { grid-template-columns: 1fr; }
  .gv-split-reverse .gv-phone-figure { order: 2; }
  .gv-copy-block h2, .gv-section-heading h2, .gv-heading-inline h2, .gv-trust h2, .gv-contact h2 { font-size: 2.25rem; }
  .gv-phone-figure { width: min(88%, 320px); }
  .gv-product-wide img { aspect-ratio: 4 / 3; object-position: 22% top; }
  .gv-feature-columns { grid-template-columns: 1fr; }
  .gv-feature-columns article, .gv-feature-columns article + article { padding: 22px 0; border-left: 0; border-bottom: 1px solid var(--gv-line); }
  .gv-inline-stats { grid-template-columns: 1fr; }
  .gv-inline-stats p { border-bottom: 1px solid var(--gv-line); }
  .gv-product-rail { grid-template-columns: 1fr; }
  .gv-product-rail article, .gv-product-rail article + article { padding: 24px 0; border-left: 0; border-top: 1px solid var(--gv-line); }
  .gv-trust-points { grid-template-columns: 1fr; }
  .gv-trust-points p:nth-child(odd) { border-right: 0; }
  .gv-contact .contact-form { padding: 20px; }
  .site-footer { padding: 48px 20px; }
  .feature-page-hero { min-height: 620px; background-position: 55% 20%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation:none !important; }
  .market-home .button:hover, .gv-text-link:hover span { transform:none; }
}
