/* KaseFlow identity: forest green, layered mint and the mark's double chevron. */
:root { --line-green: #addec7; }

.kf-site-header { border-top: 4px solid #0b4834; border-bottom-color: #d5e4d9; }
.kf-wordmark .elementor-heading-title { color: #013424; }
.kf-site-header .kf-navigation [aria-current="page"] { text-decoration: underline; text-decoration-color: #addec7; text-underline-offset: 9px; text-decoration-thickness: 3px; }
.kf-button .elementor-button { border-radius: 9px; }
.kf-button.kf-outline .elementor-button { border-color: #9abcaa; }

/* An unmistakably green first impression, with the product still in focus. */
.e-con.kf-hero { background: #e9faf2; padding-top: 65px; padding-bottom: 62px; border-bottom: 1px solid #addec7; }
.kf-hero-copy .kf-h1 .elementor-heading-title { color: #013424; }
.kf-hero-copy .elementor-heading-title em { color: #2b795c; text-decoration: underline; text-decoration-color: #addec7; text-decoration-thickness: 5px; text-underline-offset: 8px; }
.kf-hero-copy .kf-eyebrow { align-self: flex-start; }
.kf-hero-copy .kf-eyebrow .elementor-heading-title { background: #d0f1e1; border: 1px solid #addec7; border-radius: 30px; padding: 8px 12px; font-size: 10px; letter-spacing: .09em; }
.kf-hero-copy .kf-lead { color: #365e4c; }
.kf-hero-copy .kf-outline .elementor-button { background: #ffffff80; }
.kf-product-stage:before { inset: -5px -120px -5px 0; background: #0b4834 url(flow-lines.svg) right center / auto 120% no-repeat; border-radius: 32px 0 0 32px; }
.e-con.kf-browser { border-color: #2b795c; box-shadow: 0 28px 50px -25px #013424a6; }
.kf-browser-label { background: #013424; border-bottom-color: #2b795c; }
.kf-browser-label .elementor-heading-title { color: #d0f1e1; }
.kf-browser-label .elementor-heading-title:before { color: #2b795c; }
.e-con.kf-float-note { border-color: #addec7; box-shadow: 0 12px 30px #01342426; }
.kf-float-note .elementor-heading-title { color: #013424; }

/* Practice areas form a clear, branded ribbon beneath the introduction. */
.kf-proofline { background: #013424; border-color: #013424; }
.kf-proof-inner .kf-eyebrow .elementor-heading-title { color: #addec7; }
.e-con.kf-proof-inner { padding-block: 24px; }
.e-con.kf-tags { gap: 10px; }
.kf-tag .elementor-heading-title { padding: 7px 13px; border: 1px solid #35634e; border-radius: 30px; color: #e9faf2; font-size: 12px; }
.kf-tag .elementor-heading-title:before { color: #addec7; }

/* A connected family of panels, rather than a field of identical white cards. */
.e-con.kf-card { border-color: #cedfd3; transition: transform .2s, box-shadow .2s; }
.home .kf-grid > .kf-card:first-child { background: #e9faf2; }
.home .kf-grid > .kf-card:last-child { background: #d0f1e1; }
.kf-card-icon .elementor-heading-title { background: #0b4834; color: #e9faf2; border-color: #0b4834; border-radius: 12px 12px 12px 3px; width: 48px; height: 48px; }
.kf-card .kf-h3 .elementor-heading-title { color: #013424; }
.kf-subtle { background: #eff5ef; }
.e-con.kf-split-visual { background: #d0f1e1; border-color: #addec7; border-radius: 24px 24px 24px 5px; }
.kf-split-visual .kf-caption { color: #0b4834 !important; }
.kf-detail:nth-child(even) .kf-split-visual { background: #0b4834; border-color: #0b4834; }
.kf-detail:nth-child(even) .kf-split-visual .kf-caption { color: #d0f1e1 !important; }
.kf-list p { border-bottom-color: #c7dbcc; }

/* A forest-green chapter gives the working process its own visual weight. */
.kf-section:has(.kf-workflow-card) { background: #0b4834 url(flow-lines.svg) right center / auto 150% no-repeat; }
.kf-section:has(.kf-workflow-card) .kf-h2 .elementor-heading-title,
.kf-section:has(.kf-workflow-card) .kf-h3 .elementor-heading-title { color: #fff; }
.kf-section:has(.kf-workflow-card) .kf-eyebrow .elementor-heading-title { color: #addec7; }
.kf-section:has(.kf-workflow-card) .elementor-widget-text-editor { color: #d0f1e1; }
.kf-section:has(.kf-workflow-card) .kf-workflow-card { border-color: #50846a; }
.kf-step .elementor-heading-title { display: inline-block; background: #d0f1e1; color: #013424; padding: 7px 13px; border-radius: 30px; font-size: 11px; font-weight: 600; letter-spacing: .03em; }

/* The same identity carries through the interior pages. */
.kf-page-top { background: #e9faf2 url(flow-lines.svg) right -150px center / auto 160% no-repeat; border-bottom: 1px solid #addec7; }
.kf-page-top .kf-h1 .elementor-heading-title { color: #013424; }
.kf-page-top .kf-eyebrow .elementor-heading-title { display: inline-block; padding-left: 13px; border-left: 3px solid #2b795c; }
.kf-section:has(.kf-form-layout) { background: #e9faf2; }
.kf-form-copy .kf-h1 .elementor-heading-title { color: #013424; }
.e-con.kf-form-panel { border-color: #addec7; border-top: 5px solid #0b4834; box-shadow: 0 16px 40px -25px #01342455; }
.e-con.kf-principle { border-top: 2px solid #addec7; }
.kf-large-number .elementor-heading-title { color: #2b795c; }

/* A confident featured plan, balanced by a softer closing invitation. */
.e-con.kf-card.kf-popular { background: #0b4834; border-color: #0b4834; }
.kf-card.kf-popular .elementor-heading-title { color: #fff; }
.kf-card.kf-popular .elementor-widget-text-editor,
.kf-card.kf-popular .kf-price small,
.kf-card.kf-popular .kf-list p { color: #d0f1e1; }
.kf-card.kf-popular .kf-list p:before { color: #addec7; }
.kf-card.kf-popular .kf-popular-label .elementor-heading-title { color: #013424; }
.kf-card.kf-popular .elementor-button { background: #d0f1e1; border-color: #d0f1e1; color: #013424; }
.kf-card.kf-popular .elementor-button:hover { background: #fff; border-color: #fff; }
.e-con.kf-cta { background: #d0f1e1; border: 1px solid #addec7; border-radius: 24px 24px 24px 5px; }
.kf-cta .kf-h2 .elementor-heading-title { color: #013424; }
.kf-cta .kf-eyebrow .elementor-heading-title,
.kf-cta .elementor-widget-text-editor { color: #0b4834; }
.kf-cta .kf-white .elementor-button { color: #fff; background: #0b4834; border-color: #0b4834; }
.kf-cta .kf-white .elementor-button:hover { background: #1b6047; }
.kf-cta .kf-outline .elementor-button { color: #013424; border-color: #72a88a; }
.kf-cta:after { color: #0b483421; }

.kf-site-footer { background: #013424; border-top: 5px solid #addec7; }
.kf-site-footer .kf-wordmark .elementor-heading-title { color: #fff; }
.kf-site-footer .elementor-widget-text-editor { color: #addec7; }
.kf-footer-column .kf-eyebrow .elementor-heading-title { color: #addec7; }
.kf-site-footer .kf-nav-link .elementor-button { color: #e9faf2; }
.kf-site-footer .kf-nav-link .elementor-button:hover { color: #addec7; }
.e-con.kf-footer-bottom { border-top-color: #35634e; }
.kf-footer-bottom .elementor-widget-text-editor { color: #addec7; }

@media (hover:hover) { .kf-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px -18px #01342455; } }
@media (max-width:1024px) { .kf-proof-inner .kf-eyebrow .elementor-heading-title { white-space: normal; max-width: 180px; } }
@media (max-width:767px) {
  .e-con.kf-hero { padding-top: 37px; padding-bottom: 38px; }
  .kf-hero-copy .kf-eyebrow .elementor-heading-title { font-size: 9px; line-height: 1.6; padding: 7px 10px; }
  .kf-hero-copy .elementor-heading-title em { text-decoration-thickness: 3px; text-underline-offset: 5px; }
  .kf-product-stage:before { inset: 0 -22px 25px; border-radius: 22px 22px 22px 4px; }
  .kf-proof-inner .kf-eyebrow .elementor-heading-title { max-width: none; }
  .kf-tag .elementor-heading-title { padding: 5px 10px; font-size: 11px; }
  .e-con.kf-tags { gap: 8px; }
  .kf-page-top { background-position: right -270px center; }
  .kf-section:has(.kf-workflow-card) { background-size: auto 90%; }
  .e-con.kf-navigation { background: #e9faf2; border-color: #addec7; }
  .kf-menu-toggle button { background: #e9faf2; border-color: #addec7; color: #013424; }
}
@media (prefers-reduced-motion:reduce) { .kf-card:hover { transform: none; } }
