/* Casalaunch design layer v2 — modern Ohio-inspired look on Extendable.
   Palette: primary #0F8B8D / primary-dark #0B6B6D / accent #FFC62E /
   dark #101820 / light #F5FAFA / muted #4A5A63 / border #D8E3E3 */

:root {
  --cl-teal: #0F8B8D; --cl-teal-dark: #0B6B6D; --cl-accent: #FFC62E;
  --cl-dark: #101820; --cl-light: #F5FAFA; --cl-muted: #4A5A63; --cl-border: #D8E3E3;
  --cl-ease: cubic-bezier(.22,.61,.36,1);
}

/* ---- Typography ---- */
body { font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
       -webkit-font-smoothing: antialiased; letter-spacing: -0.005em; }
h1,h2,h3,h4,h5,h6, .wp-block-heading {
  font-family: "DM Sans", "Inter", -apple-system, sans-serif;
  letter-spacing: -0.03em; line-height: 1.12; font-weight: 700; text-wrap: balance; }
main h2 { font-size: clamp(1.8rem, 3.4vw, 2.5rem); margin-top: 2.5rem; }
h3 { letter-spacing: -0.015em; }
p { line-height: 1.65; }
.wp-block-post-content > p:first-of-type { font-size: 1.125rem; color: var(--cl-muted); }

/* ---- Eyebrow labels ---- */
.cl-eyebrow { font-size: .78rem !important; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; color: var(--cl-teal); margin-bottom: .5rem; }
.cl-eyebrow + h2 { margin-top: .25rem; }
.wp-block-cover .cl-eyebrow { color: var(--cl-accent); }

/* ---- Hero cover ---- */
.wp-block-cover__inner-container { max-width: min(1120px, 92%); }
.wp-block-cover h1 { font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: 1.04;
  letter-spacing: -0.035em; margin: 0 0 1.1rem; }
.wp-block-cover p { font-size: 1.12rem; max-width: 46rem; }
.wp-block-cover .wp-block-columns { margin-top: 2.25rem; }

/* Hero trust chips (columns inside cover, glass style) */
.cl-chips .wp-block-column { background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(8px);
  border-radius: .9rem; padding: 1rem 1.25rem !important; }
.cl-chips .wp-block-column:hover { transform: none; box-shadow: none; }
.cl-chips .wp-block-column p { color: #EAF4F4; font-size: .9rem; margin: 0; }
.cl-chips .wp-block-column strong { color: #fff; }

/* ---- Buttons ---- */
.wp-block-button__link, .wp-element-button {
  border-radius: 999px !important; padding: 0.9rem 1.9rem !important;
  font-weight: 600; font-size: 1rem; letter-spacing: -0.01em;
  box-shadow: 0 1px 2px rgba(16,24,32,.08);
  transition: transform .25s var(--cl-ease), box-shadow .25s var(--cl-ease), background-color .25s var(--cl-ease); }
.wp-block-button__link:hover { transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15,139,141,.3); }
.is-style-outline .wp-block-button__link { border: 2px solid currentColor;
  background: transparent; box-shadow: none; }
.cl-btn-accent .wp-block-button__link { background: var(--cl-accent) !important;
  color: var(--cl-dark) !important; box-shadow: 0 6px 18px rgba(255,198,46,.35); }
.cl-btn-accent .wp-block-button__link:hover { background: #E5B028 !important;
  box-shadow: 0 10px 26px rgba(255,198,46,.45); }
.wp-block-cover .is-style-outline .wp-block-button__link { color: var(--cl-light);
  border-color: rgba(245,250,250,.7); }
.wp-block-cover .is-style-outline .wp-block-button__link:hover {
  background: rgba(255,255,255,.12); border-color: #fff; }

/* ---- Layout rhythm ---- */
main .wp-block-group.has-background { border-radius: 1.25rem;
  margin: 1.5rem auto; max-width: min(1200px, 92%); }
.wp-block-columns { gap: 1.5rem; }

/* ---- Feature columns -> cards (main content only, never footer) ---- */
main .wp-block-columns:not(.cl-chips):not(.cl-split) .wp-block-column {
  background: #fff; border: 1px solid var(--cl-border);
  border-radius: .9rem; padding: 1.5rem !important;
  transition: transform .25s var(--cl-ease), box-shadow .25s var(--cl-ease); }
main .wp-block-columns:not(.cl-chips):not(.cl-split) .wp-block-column:hover {
  transform: translateY(-4px); box-shadow: 0 16px 34px rgba(16,24,32,.1); }
main .wp-block-column h3 { color: var(--cl-teal); font-size: 1.125rem; margin-top: 0; }
main .wp-block-column p { margin-bottom: 0; font-size: .95rem; }
main .wp-block-column p strong { color: var(--cl-dark); }
main .cl-split .wp-block-column h3 { color: var(--cl-dark); }

/* Split media+text */
.cl-split { align-items: center; gap: 3rem !important; }

/* ---- Photos ---- */
.cl-photo img, .wp-block-image img { border-radius: 1rem;
  box-shadow: 0 22px 48px rgba(16,24,32,.14); }

/* ---- Testimonials ---- */
.wp-block-quote { background: #fff; border: 1px solid var(--cl-border);
  border-left: 4px solid var(--cl-teal); border-radius: .9rem;
  padding: 1.5rem; margin: 0; box-shadow: 0 1px 3px rgba(16,24,32,.06);
  transition: transform .25s var(--cl-ease), box-shadow .25s var(--cl-ease); }
.wp-block-quote:hover { transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(16,24,32,.09); }
.wp-block-quote p { font-size: 1.05rem; font-style: normal; color: var(--cl-dark); }
.wp-block-quote cite { color: var(--cl-muted); font-size: .85rem; font-style: normal; }

/* ---- Dark CTA sections ---- */
.wp-block-group.has-background[style*="#101820"] .wp-block-button__link {
  background: var(--cl-accent) !important; color: var(--cl-dark) !important; }
.wp-block-group.has-background[style*="#101820"] .wp-block-button__link:hover {
  background: #E5B028 !important; }
.wp-block-group.has-background[style*="#101820"] .is-style-outline .wp-block-button__link {
  background: transparent !important; color: var(--cl-light) !important;
  border-color: var(--cl-light); }

/* ---- Header / nav ---- */
header .wp-block-navigation a { font-weight: 500; letter-spacing: -0.01em;
  transition: color .2s var(--cl-ease); }
header { backdrop-filter: blur(8px); }

/* ---- Scroll reveal ---- */
.cl-reveal { opacity: 0; transform: translateY(24px);
  transition: opacity .7s var(--cl-ease), transform .7s var(--cl-ease); }
.cl-reveal.cl-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .cl-reveal { opacity: 1; transform: none; transition: none; }
  .wp-block-button__link, .wp-block-column, .wp-block-quote { transition: none; }
}

h2 + p { margin-top: .4rem; }

/* ---- v2.1 fixes ---- */
/* Hide duplicate theme page title (content provides its own styled H1) */
body.page .wp-block-post-title { display: none; }

/* Brand header */
.wp-block-site-logo img { border-radius: 10px; }
.wp-block-site-title a { font-family: "DM Sans", "Inter", sans-serif; font-weight: 800;
  letter-spacing: -0.02em; color: var(--cl-dark); text-decoration: none; }
header .ext-nav-extras-btn { display: block !important; }
header .ext-nav-extras-btn .wp-block-button__link { padding: .55rem 1.3rem !important;
  font-size: .9rem; }

/* FAQ cards */
.cl-faq-item { background: #fff; border: 1px solid var(--cl-border);
  border-radius: .9rem; padding: 1.25rem 1.5rem !important; margin-bottom: 1rem;
  max-width: 100%; transition: box-shadow .25s var(--cl-ease); }
.cl-faq-item:hover { box-shadow: 0 8px 22px rgba(16,24,32,.07); }
.cl-faq-item h2 { font-size: 1.12rem !important; margin: 0 0 .4rem !important;
  letter-spacing: -0.015em; }
.cl-faq-item p { margin: 0; color: var(--cl-muted); font-size: .97rem; }

/* Info cards */
.cl-card { background: #fff; border: 1px solid var(--cl-border); border-radius: .9rem;
  padding: 1.75rem !important; }
.cl-card h3 { color: var(--cl-teal); margin-top: 0; }
.cl-card p:last-child { margin-bottom: 0; }

/* Footer */
.cl-footer a { color: #D8E3E3; text-decoration: none; }
.cl-footer a:hover { color: var(--cl-accent); }
.cl-footer h4 { color: #fff; font-size: .82rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; margin-bottom: .9rem; }
.cl-footer p { font-size: .92rem; margin-bottom: .45rem; }
.cl-footer .cl-footer-brand { color: #fff; font-family: "DM Sans", sans-serif;
  font-size: 1.35rem; font-weight: 800; letter-spacing: -0.02em; }
.cl-footer .wp-block-column { background: none; border: none; }
.cl-footer .cl-footer-legal { color: #7E939B; font-size: .82rem; margin-top: 2rem;
  padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.12); }
.cl-footer .cl-footer-legal a { color: #7E939B; margin-left: 1rem; }
.cl-footer .cl-footer-legal a:hover { color: var(--cl-accent); }
