* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: #1a1a1a;
  background: #fff;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

.gpc-main { width: 100%; }

/* Sections */
.gpc-section          { padding: 72px 0; position: relative; }
.gpc-section--white   { background: #fff; }
.gpc-section--light   { background: #f5f4f1; }
.gpc-section--tint    { background: #edf0ec; }
.gpc-section--dark    { background: #141a16; color: #fff; }
.gpc-section--dark .gpc-text    { color: rgba(255,255,255,0.7); }
.gpc-section--dark .gpc-eyebrow { color: rgba(255,255,255,0.5); }

/* Container */
.gpc-container {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Typography */
.gpc-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
  margin-bottom: 12px;
}

.gpc-title {
  margin: 0 0 18px;
  font-size: clamp(26px, 4.5vw, 42px);
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -0.025em;
}

.gpc-text {
  margin: 0 0 22px;
  font-size: 16px;
  line-height: 1.75;
  color: #4a4a4a;
}

/* Buttons */
.gpc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 28px;
  border-radius: 6px;
  background: #243d2e;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.01em;
  transition: background 0.2s ease;
  text-decoration: none;
  border: none;
  cursor: pointer;
}
.gpc-button:hover { background: #1a2e22; }

.gpc-button--secondary {
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,0.55);
}
.gpc-button--secondary:hover { background: rgba(255,255,255,0.1); }

.gpc-button--outline {
  background: transparent;
  color: #243d2e;
  border: 1.5px solid #243d2e;
}
.gpc-button--outline:hover { background: #243d2e; color: #fff; }

/* Scroll margin */
section[id], div[id] { scroll-margin-top: 80px; }

/* Fix GeneratePress body margin */
body, #page, .site-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (min-width: 768px) {
  .gpc-container { padding: 0 40px; }
}

/* ── GeneratePress layout overrides ──────────────── */
.gpc-site {
  width: 100%;
  max-width: 100%;
}

.gpc-site-content {
  width: 100%;
  max-width: 100%;
  padding: 0 !important;
  margin: 0 !important;
}

/* Kill GP's sidebar/container layout */
.generate-columns-container,
.inside-article,
.entry-content,
.content-area,
#primary,
#secondary {
  all: unset;
  display: block;
}

/* Kill GP adding top padding for fixed header */
.admin-bar .site-content,
.site-content {
  padding-top: 0 !important;
}

/* Prevent GP wrapping page content in a container */
.page .inside-article,
.single .inside-article {
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Global link reset ───────────────────────────── */
a, a:hover, a:visited, a:focus {
  text-decoration: none;
}

/* ── Hard fix for GP body width on mobile ────────── */
html {
  overflow-x: hidden;
  width: 100%;
}
body {
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}
@media (min-width: 900px) {
  #site-nav,
  #site-nav .c-nav__panel,
  #site-nav .c-nav__sheet {
    height: auto !important;
    bottom: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}