:root { --font-main: system-ui, -apple-system, sans-serif; --color-bg: #F8FAFC; --color-text: #000000; --color-silver: #E2E8F0; --color-royal: #1E3A8A; --radius-lg: 1rem; --spacing-md: 2rem; --spacing-lg: 4rem; } body { font-family: var(--font-main); color: var(--color-text); background-color: var(--color-bg); margin: 0; } a { color: var(--color-text); text-decoration: none; font-weight: 700; transition: color 0.2s ease; }  .btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.75rem 1.5rem; border-radius: var(--radius-lg); font-weight: 700; text-align: center; border: 1px solid transparent; cursor: pointer; } .btn-accent { background-color: var(--color-royal); color: #FFFFFF; border: 1px solid var(--color-royal); } .btn-accent:hover { background-color: #152C6B; color: #FFFFFF; } .site-header { position: sticky; top: 0; background: #FFFFFF; border-bottom: 1px solid var(--color-silver); z-index: 50; } .header-nav-top { display: none; border-bottom: 1px solid var(--color-silver); background: var(--color-bg); padding: 0.75rem var(--spacing-md); } .desktop-nav { display: flex; gap: var(--spacing-md); } .header-main { display: flex; align-items: center; justify-content: space-between; padding: 1rem var(--spacing-md); } .header-spacer { display: none; } .header-logo { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; font-size: 1.25rem; color: var(--color-text); } .header-logo svg { width: 32px; height: 32px; color: var(--color-royal); } .brand-name { font-weight: 800; } .header-cta { display: none; } .burger-menu { background: none; border: none; cursor: pointer; color: var(--color-text); display: flex; align-items: center; justify-content: center; padding: 0.5rem; } .burger-menu svg { width: 28px; height: 28px; } .mobile-overlay { position: fixed; inset: 0; background: #FFFFFF; z-index: 1000; display: flex; flex-direction: column; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; } .mobile-overlay.is-open { opacity: 1; pointer-events: auto; } .close-menu { position: absolute; top: 1.5rem; right: 1.5rem; background: none; border: none; cursor: pointer; color: var(--color-text); padding: 0.5rem; } .close-menu svg { width: 32px; height: 32px; } .mobile-nav { display: flex; flex-direction: column; gap: 2rem; text-align: center; font-size: 1.5rem; } .mobile-cta { margin-top: 1rem; font-size: 1.125rem; } @media(min-width: 768px) { .header-nav-top { display: flex; justify-content: center; } .header-spacer, .header-cta { display: flex; flex: 1; } .header-cta { justify-content: flex-end; } .header-logo { flex: 0 1 auto; } .burger-menu { display: none; } } .site-footer { background: #FFFFFF; border-top: 1px solid var(--color-silver); padding: var(--spacing-lg) var(--spacing-md) 2rem; font-weight: 700; } .footer-grid { display: grid; grid-template-columns: 1fr; gap: var(--spacing-lg); max-width: 1200px; margin: 0 auto; } .footer-brand h3, .footer-brand .footer-logo { font-size: 1.5rem; font-weight: 800; margin: 0 0 0.5rem; color: var(--color-text); } .tagline { margin: 0; font-weight: 700; color: var(--color-text); } .footer-links, .footer-contact { display: flex; flex-direction: column; gap: 0.75rem; } .footer-links h4, .footer-contact h4 { margin: 0 0 0.5rem; font-size: 1.125rem; font-weight: 800; color: var(--color-royal); text-transform: uppercase; letter-spacing: 0.05em; } .footer-contact p { margin: 0; } .footer-bottom { max-width: 1200px; margin: var(--spacing-lg) auto 0; padding-top: 2rem; border-top: 1px solid var(--color-silver); display: flex; flex-direction: column; gap: 1rem; align-items: center; text-align: center; font-size: 0.875rem; } .legal-links { display: flex; gap: 1rem; } @media(min-width: 768px) { .footer-grid { grid-template-columns: 2fr 1fr 1.5fr; } .footer-bottom { flex-direction: row; justify-content: space-between; text-align: left; } }
/* footer extras */
.footer__extras{margin-top:16px;}
.footer__extrasInner{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;}
.footer__social{display:flex;gap:10px;align-items:center;}
.footer-social{display:inline-flex;gap:8px;align-items:center;text-decoration:none;}
.footer-social__icon{display:block;}
.footer__poemWrap{max-width:520px;}
.footer-poem{opacity:0.9;font-size:0.95em;line-height:1.35;}
/* --- injected by logo step --- */
.brand{display:inline-flex;align-items:center;gap:10px}
.brand-logo{width:28px;height:28px;display:inline-block;flex:0 0 auto}
.brand-logo *{vector-effect:non-scaling-stroke}
/* --- /injected by logo step --- */
:root {
  --brand-primary: #2B5B3A;
  --brand-light: #E8F0EA;
  --wood-light: #F5F0E6;
  --wood-medium: #D4C4A8;
}
html {
  scroll-behavior: smooth;
}
.bg-blue-700,
.bg-blue-800,
.bg-blue-900 {
  background-color: var(--brand-primary) !important;
}

.bg-slate-50.border-slate-200 {
  background-color: var(--wood-light) !important;
  border-color: var(--wood-medium) !important;
}

.text-blue-900,
.text-blue-800,
.text-blue-700 {
  color: var(--brand-primary) !important;
}

.bg-blue-700:hover,
.hover\:bg-blue-800:hover {
  background-color: #1E422A !important;
}

.btn-accent {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.btn-accent:hover {
  background-color: #1E422A !important;
}

h1.text-blue-900,
h2.text-blue-900,
h3.text-blue-900 {
  color: var(--brand-primary) !important;
}

.brand-name,
.header-logo .brand-name,
.footer-logo {
  color: var(--brand-primary) !important;
}

.footer-links h4,
.footer-contact h4 {
  color: var(--brand-primary) !important;
}

.footer-links a,
.footer-contact a {
  color: #4A5568;
}

.footer-links a:hover,
.footer-contact a:hover {
  color: var(--brand-primary) !important;
}

.tagline {
  color: #4A5568;
}

.header-logo svg {
  color: var(--brand-primary) !important;
  stroke: var(--brand-primary) !important;
}

a:not(.btn):not(.btn-accent):hover {
  color: var(--brand-primary) !important;
}

.form-privacy a:hover {
  color: var(--brand-primary) !important;
}

.footer-links a:hover,
.footer-contact a:hover {
  color: var(--brand-primary) !important;
}
.bg-blue-700:hover {
  color: #FFFFFF !important;
}
.break-email {
  word-break: break-all;
}
/* Thanks page */
.thanks-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--wood-light, #F5F0E6);
  margin: 0;
  padding: 1rem;
}

.thanks-main {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}

.thanks-card {
  background: #FFFFFF;
  padding: 2.5rem;
  border-radius: 1.5rem;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  border: 1px solid var(--wood-medium, #D4C4A8);
}

.thanks-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--brand-primary, #2B5B3A);
  margin-bottom: 1rem;
}

.thanks-message {
  font-size: 1.125rem;
  color: #4A5568;
  margin-bottom: 2rem;
  line-height: 1.5;
}

.thanks-btn {
  display: inline-block;
  background-color: var(--brand-primary, #2B5B3A);
  color: #FFFFFF;
  font-weight: 700;
  padding: 0.75rem 2rem;
  border-radius: 1.5rem;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.thanks-btn:hover {
  background-color: #1E422A;
  color: #FFFFFF;
}