/* enlighten-web -- one stylesheet, design language mirrored from the live
   Astro site (navy/coral palette, Oswald headings, Source Sans 3 body). */

/* ------------------------------------------------------------- fonts */

@font-face {
  font-family: "Oswald Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 200 700;
  src: url(/static/fonts/oswald-latin-wght-normal.woff2) format("woff2-variations");
}

@font-face {
  font-family: "Source Sans 3 Variable";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(/static/fonts/source-sans-3-latin-wght-normal.woff2) format("woff2-variations");
}

/* ------------------------------------------------------------ tokens */

:root {
  --color-ocean-deep: #1a3a5c;
  --color-ocean-bright: #1a7fa6;
  --color-coral: #ff6b35;
  --color-accent: #ff6b35;
  --color-sunrise: #ffb84d;
  --color-sand: #f4e8d8;
  --color-steel: #718096;
  --color-stone: #2d3748;
  --color-white: #fff;
  --font-heading: "Oswald Variable", "Oswald", sans-serif;
  --font-sans: "Source Sans 3 Variable", "Source Sans 3", -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ------------------------------------------------------------- reset */

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  color: var(--color-stone);
  line-height: 1.6;
  font-size: 1.05rem;
  background: #f5f7fa;
}
img { max-width: 100%; display: block; }
ul[class] { list-style: none; }

.page-bg { position: relative; }
.page-bg::before {
  content: "";
  z-index: -2;
  background: linear-gradient(135deg, #f5f7fa, #e8ecf1);
  width: 100%; height: 100%;
  position: fixed; top: 0; left: 0;
}
.page-bg::after {
  content: "";
  z-index: -1;
  background-image:
    radial-gradient(circle at 20%, #1a7fa61a, #0000 50%),
    radial-gradient(circle at 80% 80%, #ff6b3514, #0000 50%),
    radial-gradient(circle at 40% 20%, #1a3a5c14, #0000 40%);
  width: 100%; height: 100%;
  position: fixed; top: 0; left: 0;
}

/* ------------------------------------------------------------ layout */

.site-container { max-width: 1400px; margin: 0 auto; padding-left: 2rem; padding-right: 2rem; }
.site-container--mid { max-width: 1200px; margin: 0 auto; padding-left: 2rem; padding-right: 2rem; }
.site-container--narrow { max-width: 900px; margin: 0 auto; padding-left: 2rem; padding-right: 2rem; }
.section-pad { padding: 5rem 2rem; }

.section-header { text-align: center; margin-bottom: 3rem; }
.section-header h2 {
  font-family: var(--font-heading);
  color: var(--color-ocean-deep);
  margin-bottom: 1rem;
  font-size: 2.8rem;
  line-height: 1.15;
}
.section-header p { color: var(--color-steel); max-width: 700px; margin: 0 auto; font-size: 1.2rem; }

.skip-link {
  z-index: 9999;
  background: var(--color-ocean-deep);
  color: #fff;
  padding: .75rem 1.5rem;
  font-weight: 600;
  text-decoration: none;
  position: absolute; top: 0; left: -9999px;
}
.skip-link:focus { left: 0; }

/* ------------------------------------------------ preview banner
   Rendered only when SITE_BANNER=staging. The banner sits in flow at the
   very top; the header switches from fixed to sticky so nothing overlaps
   or shifts, at any banner height, including wrapped text on a phone. */

.preview-banner {
  background: var(--color-ocean-deep);
  text-align: center;
  padding: .45rem 1rem;
  font-size: .85rem;
  line-height: 1.4;
}
.preview-banner a { color: #fff; text-decoration: none; }
.preview-banner a:hover { text-decoration: underline; }
.has-banner .site-header { position: sticky; top: 0; }
.has-banner .hero-section, .has-banner .page-hero { margin-top: 0; }

/* ------------------------------------------------------------ header */

.site-header {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  z-index: 1000;
  background: #fffffff2;
  width: 100%;
  position: fixed; top: 0;
  box-shadow: 0 2px 20px #0000000d;
}
.nav-container {
  justify-content: space-between;
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
  padding: 1.2rem 2rem;
  display: flex;
  gap: 1rem;
}
.site-header .logo {
  font-family: var(--font-heading);
  color: var(--color-ocean-deep);
  letter-spacing: .5px;
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.site-header .nav-links { gap: 2rem; list-style: none; display: flex; }
.site-header .nav-links a { color: var(--color-stone); font-weight: 400; text-decoration: none; transition: color .3s; white-space: nowrap; }
.site-header .nav-links a:hover { color: var(--color-ocean-bright); }
.site-header .cta-header {
  background: var(--color-coral);
  color: #fff;
  border-radius: 4px;
  padding: .7rem 1.5rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s;
  white-space: nowrap;
}
.site-header .cta-header:hover { background: var(--color-ocean-bright); transform: translateY(-2px); box-shadow: 0 4px 12px #1a7fa64d; }

.hamburger {
  cursor: pointer;
  z-index: 10;
  background: none;
  border: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 8px;
  display: none;
}
.hamburger-line {
  background: var(--color-ocean-deep);
  transform-origin: 50%;
  border-radius: 2px;
  width: 26px; height: 3px;
  transition: transform .3s, opacity .3s;
  display: block;
}
.hamburger.is-active .hamburger-line:first-child { transform: translateY(8px) rotate(45deg); }
.hamburger.is-active .hamburger-line:nth-child(2) { opacity: 0; }
.hamburger.is-active .hamburger-line:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.mobile-menu { display: none; }
.mobile-menu.is-open { display: block; }
.mobile-menu-links { margin: 0; padding: 0; list-style: none; }
.mobile-menu-links li { border-bottom: 1px solid #1a3a5c14; }
.mobile-menu-links a {
  color: var(--color-stone);
  padding: 1rem 2rem;
  font-size: 1.05rem;
  text-decoration: none;
  transition: background .2s, color .2s;
  display: block;
}
.mobile-menu-links a:hover { color: var(--color-ocean-bright); background: #1a3a5c0d; }
.mobile-menu-cta {
  background: var(--color-coral);
  color: #fff;
  text-align: center;
  border-radius: 4px;
  margin: 1rem 2rem 1.5rem;
  padding: .9rem 1.5rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .3s;
  display: block;
}
.mobile-menu-cta:hover { background: var(--color-ocean-bright); }

/* ----------------------------------------------------------- buttons */

.btn-primary {
  background: var(--color-coral);
  color: #fff;
  border: 2px solid var(--color-coral);
  border-radius: 6px;
  padding: 1rem 2rem;
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s;
  display: inline-block;
  text-align: center;
}
.btn-primary:hover { background: var(--color-sunrise); border-color: var(--color-sunrise); transform: translateY(-3px); box-shadow: 0 8px 20px #ff6b3566; }
.btn-secondary {
  color: #fff;
  background: none;
  border: 2px solid #fff;
  border-radius: 6px;
  padding: 1rem 2rem;
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s;
  display: inline-block;
  text-align: center;
}
.btn-secondary:hover { color: var(--color-ocean-deep); background: #fff; transform: translateY(-3px); }
.btn-outline {
  color: var(--color-ocean-deep);
  background: none;
  border: 2px solid var(--color-ocean-deep);
  border-radius: 6px;
  padding: 1rem 2rem;
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s;
  display: inline-block;
  text-align: center;
}
.btn-outline:hover { color: #fff; background: var(--color-ocean-deep); transform: translateY(-3px); }

/* -------------------------------------------------------------- hero */

.hero-section {
  background: linear-gradient(135deg, var(--color-ocean-deep) 0%, var(--color-ocean-bright) 100%);
  color: #fff;
  margin-top: 80px;
  padding: 6rem 2rem;
  position: relative;
  overflow: hidden;
}
.hero-section::before {
  content: "";
  background-image:
    radial-gradient(circle at 20%, #ffffff1a, #0000 50%),
    radial-gradient(circle at 80% 80%, #ff6b3526, #0000 50%);
  position: absolute; inset: 0;
}
.hero-content {
  z-index: 1;
  grid-template-columns: 1.2fr .8fr;
  align-items: center;
  gap: 4rem;
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  position: relative;
}
.hero-content h1 {
  font-family: var(--font-heading);
  text-wrap: balance;
  max-width: 22ch;
  margin-bottom: 1.25rem;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.15;
}
.hero-content .hero-lead { opacity: .95; margin-bottom: 2rem; font-size: 1.3rem; line-height: 1.7; }
.hero-cta-group { gap: 1rem; display: flex; flex-wrap: wrap; }

/* photo placeholder blocks -- neutral until real photos exist */
.photo-block {
  border: 2px dashed #ffffff66;
  border-radius: 12px;
  background: #ffffff14;
  color: #ffffffcc;
  font-family: var(--font-heading);
  font-size: 1.1rem;
  letter-spacing: .5px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  text-align: center;
  padding: 1rem;
}
.photo-block--light {
  border-color: #1a3a5c40;
  background: #1a3a5c0a;
  color: var(--color-steel);
}
.photo-block--small { min-height: 180px; }

/* --------------------------------------------------------- trust strip */

.trust-badge { background: var(--color-sand); text-align: center; padding: 3rem 2rem; }
.trust-stats {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
}
.stat-number {
  font-family: var(--font-heading);
  color: var(--color-coral);
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.1;
  display: block;
}
.stat-label { color: var(--color-stone); margin-top: .5rem; font-size: 1.05rem; font-weight: 600; display: block; }

/* ------------------------------------------------------ prose sections */

.prose { max-width: 820px; margin: 0 auto; }
.prose p { margin-bottom: 1.4rem; font-size: 1.15rem; line-height: 1.8; }
.prose ul { margin: 0 0 1.4rem 1.4rem; }
.prose li { margin-bottom: .8rem; font-size: 1.15rem; line-height: 1.7; }
.prose h3 { font-family: var(--font-heading); color: var(--color-ocean-deep); font-size: 1.5rem; margin: 2rem 0 .8rem; }
.closing-line { color: var(--color-ocean-deep); font-weight: 600; }

.placeholder-note {
  background: #fff7e6;
  border-left: 4px solid var(--color-sunrise);
  border-radius: 6px;
  padding: .8rem 1.2rem;
  color: #7a5200;
  font-size: 1rem;
}

/* ----------------------------------------------------- guarantee cards */

.guarantees-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
}
.guarantee-card {
  background: #fff;
  border-radius: 8px;
  border-top: 4px solid var(--color-coral);
  padding: 2rem;
  transition: all .3s;
  box-shadow: 0 4px 15px #00000014;
}
.guarantee-card:hover { transform: translateY(-8px); box-shadow: 0 12px 30px #00000026; }
.guarantee-card h3 { font-family: var(--font-heading); color: var(--color-ocean-deep); margin-bottom: .8rem; font-size: 1.4rem; }

/* ------------------------------------------------------- service cards */

.services-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
}
.service-card {
  background: linear-gradient(135deg, var(--color-sand) 0%, #e8d5c0 100%);
  border-radius: 8px;
  padding: 2rem;
  transition: all .3s;
}
.service-card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px #1a3a5c33; }
.service-card h3 { font-family: var(--font-heading); color: var(--color-ocean-deep); margin-bottom: .8rem; font-size: 1.5rem; }

.industries-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
}
.industry-tag {
  background: var(--color-sand);
  text-align: center;
  color: var(--color-ocean-deep);
  border: 2px solid #0000;
  border-radius: 6px;
  padding: 1.2rem;
  font-size: 1.05rem;
  font-weight: 600;
  transition: all .3s;
}
.industry-tag:hover { background: var(--color-ocean-deep); color: #fff; border-color: var(--color-coral); }

/* ------------------------------------------------------------ pricing */

.pricing-card {
  background: #fff;
  border-radius: 12px;
  border-top: 6px solid var(--color-coral);
  box-shadow: 0 10px 40px #1a3a5c1f;
  max-width: 760px;
  margin: 0 auto;
  padding: 3rem;
}
.pricing-card p { margin-bottom: 1.4rem; font-size: 1.15rem; line-height: 1.8; }
.pricing-card .small-print { color: var(--color-steel); font-size: .95rem; margin-bottom: 2rem; }
.price-line strong { color: var(--color-ocean-deep); font-size: 1.25rem; }

/* -------------------------------------------------------- testimonials */

.testimonials-section { background: var(--color-ocean-deep); color: #fff; padding: 5rem 2rem; }
.testimonials-section .section-header h2 { color: #fff; }
.testimonials-section .section-header p { color: #ffffffcc; }
.testimonials-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  max-width: 1000px;
  margin: 0 auto 3rem;
  display: grid;
}
.testimonial-card {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #ffffff1a;
  border: 1px solid #fff3;
  border-radius: 8px;
  padding: 2rem;
}
.testimonial-card .text { margin-bottom: 1.5rem; font-size: 1.05rem; font-style: italic; line-height: 1.7; }
.testimonial-card .who { font-weight: 600; }
.testimonial-card .who-meta { opacity: .8; font-size: .9rem; }

.saves-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
}
.save-card {
  background: #ffffff12;
  border: 1px dashed #ffffff59;
  border-radius: 8px;
  padding: 1.5rem;
  color: #ffffffd9;
  font-size: 1rem;
  line-height: 1.6;
}

/* ---------------------------------------------------------- final CTA */

.final-cta {
  background: linear-gradient(135deg, var(--color-coral) 0%, var(--color-sunrise) 100%);
  color: #fff;
  text-align: center;
  padding: 5rem 2rem;
}
.final-cta h2 { font-family: var(--font-heading); margin-bottom: 1rem; font-size: 3rem; line-height: 1.15; }
.final-cta p { opacity: .95; margin-bottom: 2rem; font-size: 1.3rem; max-width: 760px; margin-left: auto; margin-right: auto; }
.cta-options { flex-wrap: wrap; justify-content: center; gap: 1.5rem; display: flex; }
.final-cta .btn-inverse { background: #fff; color: var(--color-coral); border-color: #fff; }

.founder-block {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin: 0 auto 2.5rem;
  max-width: 520px;
  text-align: left;
}
.founder-block .photo-block { min-height: 120px; width: 120px; flex: 0 0 auto; font-size: .85rem; }
.founder-name { font-weight: 700; font-size: 1.15rem; }
.founder-meta { opacity: .9; font-size: .95rem; }

/* ------------------------------------------------------------- footer */

.site-footer { background: var(--color-stone); color: #fff; padding: 3rem 2rem 2rem; }
.footer-grid {
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 3rem;
  max-width: 1200px;
  margin: 0 auto 2rem;
  display: grid;
}
.site-footer h4 { font-family: var(--font-heading); color: var(--color-coral); margin-bottom: 1rem; font-size: 1.3rem; }
.site-footer .footer-links { list-style: none; }
.site-footer .footer-links li { margin-bottom: .7rem; }
.site-footer .footer-links a { color: #fffc; text-decoration: none; transition: color .3s; }
.site-footer .footer-links a:hover { color: var(--color-coral); }
.footer-fineprint { margin-top: 1rem; font-size: .9rem; opacity: .7; }
.footer-fineprint a { color: #fffc; }
.footer-bottom { text-align: center; color: #fff9; border-top: 1px solid #ffffff1a; padding-top: 2rem; }

/* ----------------------------------------------- response-time widget */

.widget-section { background: #fff; padding: 5rem 2rem; }
.widget-under {
  color: var(--color-steel);
  max-width: 640px;
  margin: 2rem auto 0;
  font-size: 1.05rem;
  text-align: center;
}

.rw-card {
  background: #fff;
  border: 1px solid #1a3a5c1f;
  border-radius: 12px;
  box-shadow: 0 10px 40px #1a3a5c24;
  max-width: 560px;
  margin: 0 auto;
  padding: 2rem;
}
[data-response-widget][hidden] { display: none; }
.rw-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.2rem;
}
.rw-label {
  color: var(--color-steel);
  font-weight: 600;
  font-size: .95rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.rw-badge {
  border-radius: 999px;
  font-weight: 700;
  font-size: .85rem;
  padding: .3rem .9rem;
  white-space: nowrap;
}
.rw-badge--live { background: #e5f6ec; color: #1a7a45; }
.rw-badge--closed { background: #edf0f4; color: var(--color-steel); }
.rw-big {
  font-family: var(--font-heading);
  color: var(--color-ocean-deep);
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 1rem;
}
.rw-sentence { font-size: 1.1rem; line-height: 1.6; margin-bottom: 1rem; }
.rw-note {
  background: #fff7e6;
  border-left: 4px solid var(--color-sunrise);
  border-radius: 6px;
  padding: .8rem 1.2rem;
  color: #7a5200;
  font-size: .98rem;
  margin-bottom: 1rem;
}
.rw-meta { color: var(--color-steel); font-size: .95rem; margin-bottom: 1.5rem; }
.rw-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
.rw-actions .btn-primary, .rw-actions .btn-outline { padding: .8rem 1.4rem; font-size: 1rem; flex: 1 1 auto; }

/* ----------------------------------------------------- widget preview */

.preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2rem;
  max-width: 1300px;
  margin: 0 auto;
}
.preview-slot h3 { font-family: var(--font-heading); color: var(--color-ocean-deep); margin-bottom: 1rem; font-size: 1.2rem; }
.preview-slot .slot-note { color: var(--color-steel); font-size: .9rem; margin-top: .8rem; }
.preview-slot .rw-card { max-width: none; }

/* -------------------------------------------------------------- pages */

.page-hero {
  background: linear-gradient(135deg, var(--color-ocean-deep) 0%, var(--color-ocean-bright) 100%);
  color: #fff;
  margin-top: 80px;
  padding: 4.5rem 2rem 3.5rem;
  text-align: center;
}
.page-hero h1 { font-family: var(--font-heading); font-size: 2.8rem; line-height: 1.15; margin-bottom: 1rem; }
.page-hero p { opacity: .95; font-size: 1.2rem; max-width: 720px; margin: 0 auto; }

.steps-list { max-width: 820px; margin: 0 auto; counter-reset: step; list-style: none; }
.steps-list li {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 15px #00000014;
  margin-bottom: 1.5rem;
  padding: 2rem 2rem 2rem 5.2rem;
  position: relative;
}
.steps-list li::before {
  counter-increment: step;
  content: counter(step);
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.4rem;
  color: #fff;
  background: var(--color-coral);
  border-radius: 50%;
  width: 2.6rem; height: 2.6rem;
  display: flex; align-items: center; justify-content: center;
  position: absolute; left: 1.5rem; top: 1.8rem;
}
.steps-list h3 { font-family: var(--font-heading); color: var(--color-ocean-deep); font-size: 1.4rem; margin-bottom: .6rem; }
.steps-list p { line-height: 1.7; }

.trust-list { max-width: 820px; margin: 0 auto; list-style: none; }
.trust-list li {
  background: #fff;
  border-left: 4px solid var(--color-ocean-bright);
  border-radius: 8px;
  box-shadow: 0 4px 15px #00000010;
  margin-bottom: 1.2rem;
  padding: 1.4rem 1.8rem;
  line-height: 1.7;
}
.trust-list strong { color: var(--color-ocean-deep); }

.cta-row { text-align: center; margin-top: 3rem; }

/* utility classes -- the CSP has no style-src 'unsafe-inline', so pages may
   never carry style attributes; these stand in for the few one-offs. */
.bg-white { background: #fff; }
.bg-sand { background: var(--color-sand); }
.mt-2 { margin-top: 2rem; }
.mt-3 { margin-top: 3rem; }

/* --------------------------------------------------------- responsive */

@media (max-width: 1100px) {
  .site-header .nav-links { gap: 1.2rem; }
}
@media (max-width: 960px) {
  .site-header .nav-links, .site-header .cta-header { display: none; }
  .hamburger { display: flex; }
  .mobile-menu.is-open {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #fffffffa;
    border-top: 1px solid #1a3a5c1a;
    max-height: calc(100dvh - 70px);
    overflow-y: auto;
    box-shadow: 0 8px 30px #0000001a;
  }
}
@media (max-width: 768px) {
  .hero-content { grid-template-columns: 1fr; gap: 2rem; }
  .hero-content h1 { font-size: 2.5rem; }
  .hero-photo { display: none; }
  .hero-cta-group { flex-direction: column; }
  .hero-cta-group .btn-primary, .hero-cta-group .btn-secondary { width: 100%; }
  .section-header h2 { font-size: 2rem; }
  .page-hero h1 { font-size: 2.2rem; }
  .final-cta h2 { font-size: 2.2rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .nav-container { padding: 1rem 1.5rem; }
  .founder-block { flex-direction: column; text-align: center; }
  .founder-block .founder-text { text-align: center; }
}
@media (max-width: 480px) {
  .hero-section { padding: 4rem 1.25rem; }
  .section-pad, .widget-section, .testimonials-section, .final-cta { padding-left: 1.25rem; padding-right: 1.25rem; }
  .pricing-card { padding: 1.8rem 1.4rem; }
  .rw-card { padding: 1.4rem 1.2rem; }
  .rw-big { font-size: 2.3rem; }
  .rw-actions { flex-direction: column; }
  .rw-actions .btn-primary, .rw-actions .btn-outline { width: 100%; }
  .cta-options { flex-direction: column; }
  .cta-options .btn-primary, .cta-options .btn-secondary { width: 100%; }
  .steps-list li { padding: 1.6rem 1.2rem 1.6rem 4.2rem; }
  .steps-list li::before { left: 1rem; top: 1.5rem; width: 2.2rem; height: 2.2rem; font-size: 1.15rem; }
}

/* === legacy carried-content classes (generated) === */
.problem-card .icon{margin-bottom:1rem;font-size:2.5rem}
.guarantee-card .icon{margin-bottom:1rem;font-size:3rem}
.service-card .icon{margin-bottom:1rem;font-size:2.5rem;display:block}
.hero-page{background:linear-gradient(135deg,var(--color-ocean-deep) 0%,var(--color-ocean-bright) 100%);color:#fff;text-align:center;padding:7rem 2rem 5rem}
.hero-page h1{font-family:var(--font-heading);margin-bottom:1rem;font-size:3.5rem}
.hero-page p{opacity:.95;max-width:800px;margin:0 auto;font-size:1.3rem}
.mission-section{background:var(--color-sand);padding:5rem 2rem}
.mission-content{text-align:center;max-width:900px;margin:0 auto}
.mission-tagline{font-family:var(--font-heading);color:var(--color-ocean-deep);margin-bottom:1rem;font-size:2.5rem}
.mission-subtitle{color:var(--color-steel);margin-bottom:3rem;font-size:1.3rem;font-style:italic}
.mission-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:2rem;display:grid}
.mission-item{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 4px 15px #00000014}
.mission-item h3{font-family:var(--font-heading);color:var(--color-ocean-deep);font-size:1.3rem}
.story-section{background:#fff;padding:5rem 2rem}
.story-content{max-width:900px;margin:0 auto}
.story-content h2{font-family:var(--font-heading);color:var(--color-ocean-deep);margin-bottom:1.5rem;font-size:2.5rem}
.story-content p{margin-bottom:1.5rem;font-size:1.15rem;line-height:1.8}
.highlight-box{background:var(--color-sand);border-left:4px solid var(--color-coral);border-radius:4px;margin:2rem 0;padding:2rem}
.highlight-box p{color:var(--color-ocean-deep);margin-bottom:0;font-size:1.2rem}
.values-section{background:var(--color-sand);padding:5rem 2rem}
.values-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1200px;margin:2rem auto 0;display:grid}
.value-card{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 4px 15px #00000014}
.value-card .icon{margin-bottom:1rem;font-size:2.5rem}
.value-card h3{font-family:var(--font-heading);color:var(--color-ocean-deep);margin-bottom:.8rem;font-size:1.5rem}
.team-section{background:#fff;padding:5rem 2rem}
.team-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:3rem;max-width:1400px;margin:0 auto;display:grid}
.team-member{text-align:center;background:var(--color-sand);border-radius:12px;padding:2rem;transition:all .3s}
.team-member:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}
.member-photo{border:4px solid var(--color-coral);object-fit:cover;border-radius:50%;width:200px;height:200px;margin:0 auto 1.5rem;display:block}
.team-member h3{font-family:var(--font-heading);color:var(--color-ocean-deep);margin-bottom:.5rem;font-size:1.8rem}
.member-title{color:var(--color-steel);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}
.member-certs{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1rem 0;display:flex}
.cert-badge{background:var(--color-ocean-deep);color:#fff;border-radius:4px;padding:.3rem .8rem;font-size:.85rem;font-weight:600}
.member-bio{color:var(--color-stone);text-align:left;margin-bottom:1rem;font-size:1.05rem;line-height:1.7}
.linkedin-link{color:var(--color-ocean-bright);margin-top:1rem;font-size:1.5rem;text-decoration:none;transition:color .3s;display:inline-block}
.linkedin-link:hover{color:var(--color-coral)}
.reasons-section{background:var(--color-sand);padding:3rem 2rem}
.reason-block{border-left:6px solid var(--color-coral);background:#fff;border-radius:8px;max-width:900px;margin:0 auto 4rem;padding:3rem;box-shadow:0 4px 20px #00000014}
.reason-block h2{font-family:var(--font-heading);color:var(--color-ocean-deep);margin-bottom:1.5rem;font-size:2rem}
.reason-block p{margin-bottom:1.2rem;font-size:1.1rem;line-height:1.8}
.reason-block ul{margin:1.5rem 0 1.5rem 2rem}
.reason-block li{margin-bottom:.8rem;font-size:1.1rem}
.highlight{background:var(--color-sand);color:var(--color-ocean-deep);border-radius:6px;margin:1.5rem 0;padding:1.5rem;font-style:italic}
.belief-section{background:var(--color-ocean-deep);color:#fff;text-align:center;padding:5rem 2rem}
.belief-content{max-width:800px;margin:0 auto}
.belief-content h2{font-family:var(--font-heading);margin-bottom:2rem;font-size:2.5rem}
.belief-content p{margin-bottom:1.5rem;font-size:1.3rem;line-height:1.8}
.cta-coral{background:var(--color-coral);color:#fff;text-align:center;padding:4rem 2rem}
.cta-coral h2{font-family:var(--font-heading);margin-bottom:1.5rem;font-size:2.5rem}
.cta-coral .cta-button{color:var(--color-coral);background:#fff;border-radius:6px;margin-top:1rem;padding:1.2rem 2.5rem;font-size:1.2rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}
.cta-coral .cta-button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0003}
.form-container{z-index:10;background:#fff;border-radius:12px;max-width:700px;margin:-3rem auto 5rem;padding:3rem;position:relative;box-shadow:0 10px 40px #0000001a}
.form-group{margin-bottom:1.5rem}
.form-group label{color:var(--color-ocean-deep);margin-bottom:.5rem;font-weight:600;display:block}
.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:6px;width:100%;padding:.8rem;font-family:"Source Sans 3",sans-serif;font-size:1rem;transition:border-color .3s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-ocean-bright);outline:none}
.form-group textarea{resize:vertical;min-height:120px}
.submit-btn{background:var(--color-coral);color:#fff;font-family:var(--font-heading);cursor:pointer;border:none;border-radius:6px;width:100%;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:all .3s}
.submit-btn:hover{background:var(--color-ocean-bright);transform:translateY(-2px);box-shadow:0 4px 12px #1a7fa64d}
.required{color:var(--color-coral)}
.resources-grid{z-index:10;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;max-width:1200px;margin:-3rem auto 0;padding:0 2rem 5rem;display:grid;position:relative}
.resource-card{background:#fff;border-radius:12px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 10px 40px #0000001a}
.resource-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px #0003}
.resource-image{object-fit:cover;background:var(--color-sand);width:100%;height:200px}
.resource-content{flex-direction:column;flex-grow:1;padding:2rem;display:flex}
.resource-tag{background:var(--color-coral);color:#fff;border-radius:4px;align-self:flex-start;margin-bottom:1rem;padding:.3rem .8rem;font-size:.85rem;font-weight:600;display:inline-block}
.resource-card h2{font-family:var(--font-heading);color:var(--color-ocean-deep);margin-bottom:1rem;font-size:1.6rem}
.resource-excerpt{color:var(--color-steel);flex-grow:1;margin-bottom:1.5rem}
.read-more{color:var(--color-ocean-bright);font-weight:600;text-decoration:none}
.read-more:hover{color:var(--color-coral)}
.admin-alert{border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;display:none}
.admin-alert.show{display:block}
.admin-alert.success{color:#16a34a;background:#dcfce7}
.admin-alert.error{color:#dc2626;background:#fee2e2}
.blog-content{color:var(--color-stone);font-size:1.15rem;line-height:1.8}
.blog-content h2{font-family:var(--font-heading);color:var(--color-ocean-deep);margin-top:2.5rem;margin-bottom:1rem;font-size:2rem;font-weight:700}
.blog-content h3{font-family:var(--font-heading);color:var(--color-ocean-deep);margin-top:2rem;margin-bottom:.75rem;font-size:1.5rem;font-weight:700}
.blog-content p{margin-bottom:1.5rem}
.blog-content img{border-radius:8px;max-width:100%;height:auto;margin:2rem 0}
.blog-content blockquote{background:var(--color-sand);border-left:4px solid var(--color-coral);color:var(--color-ocean-deep);border-radius:4px;margin:2rem 0;padding:1.5rem 2rem;font-style:italic}
.blog-content blockquote p{margin-bottom:0}
.blog-content code{background:var(--color-sand);font-family:var(--font-mono);border-radius:4px;padding:.2rem .5rem;font-size:.9rem}
.blog-content pre{background:var(--color-sand);border-radius:8px;margin:2rem 0;padding:1.5rem;overflow-x:auto}
.blog-content pre code{background:0 0;padding:0}
.blog-content ul,.blog-content ol{margin:1.5rem 0;padding-left:2rem}
.blog-content li{margin-bottom:.75rem}
.blog-content ul{list-style-type:disc}
.blog-content ol{list-style-type:decimal}
.blog-content a{color:var(--color-ocean-bright);text-decoration:underline}
.blog-content a:hover{color:var(--color-coral)}
.blog-content table{border-collapse:collapse;background:var(--color-sand);border-radius:8px;width:100%;margin:2rem 0;overflow:hidden}
.blog-content th,.blog-content td{text-align:left;border-bottom:2px solid #fff;padding:.75rem 1.25rem}
.blog-content th{color:var(--color-ocean-deep);font-weight:600}
.blog-content tr:last-child td{border-bottom:3px solid var(--color-ocean-bright)}
.blog-content strong{color:var(--color-stone);font-weight:600}
.callout{background:var(--color-sand);border-left:4px solid var(--color-coral);border-radius:4px;margin:2rem 0;padding:2rem}
.callout p{color:var(--color-ocean-deep);margin:0;font-size:1.15rem}
.cta-box{background:var(--color-ocean-deep);color:#fff;text-align:center;border-radius:8px;margin:3rem 0;padding:3rem}
.cta-box h3{font-family:var(--font-heading);color:#fff;margin-bottom:1rem;font-size:2rem}
.cta-box p{color:#ffffffe6}
.cta-box a{background:var(--color-coral);color:#fff;border-radius:6px;margin-top:1rem;padding:1rem 2rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}
.cta-box a:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3566}
.lg-1{padding: 4rem 2rem; background: white;}
.lg-2{max-width: 900px; margin: 0 auto; text-align: center;}
.lg-3{font-size: 1.2rem; line-height: 1.8;}
.lg-4{margin-top: 2rem; font-size: 1.4rem; font-weight: 600;}
.lg-5{padding-bottom: 6rem;}
.lg-6{max-width: 600px; margin: 0 auto; padding: 5rem 2rem; text-align: center;}
.lg-7{font-size: 1.2rem; color: var(--color-steel);}
.lg-8{padding-bottom: 3rem;}
.lg-9{text-align: left; padding-bottom: 3rem;}
.lg-10{max-width: 900px; margin: 0 auto; padding: 3rem 2rem 5rem;}
.lg-11{max-width: 900px; margin: 0 auto;}
.lg-12{display: inline-block; background: var(--color-coral); color: white; padding: 0.4rem 1rem; border-radius: 4px; font-size: 0.9rem; font-weight: 600; margin-bottom: 1.5rem;}
.lg-13{font-size: 3rem; line-height: 1.15; margin-bottom: 1rem;}
.lg-14{font-size: 1rem; opacity: 0.85;}
.lg-15{max-width: 900px; margin: 0 auto; padding: 0 2rem 3rem;}
.lg-16{color: var(--color-ocean-bright); font-weight: 600; text-decoration: none;}
.lg-17{margin-top: 1.5rem; padding-top: 1rem; border-top: 2px solid var(--ocean-deep);}
.lg-18{background: var(--color-sand);}
.lg-19{margin-top: 0; margin-bottom: 0;}
.lg-20{margin-top: 1rem;}
