/* Homepage only: shared public pages keep main.css. */
.swb-home { --swb-ink: #214028; --swb-muted: #52635a; --swb-line: #c3d3c7; --swb-soft: #e6f0e8; }
.swb-home .section { padding: 48px 0; scroll-margin-top: 90px; }
.swb-home p { line-height: 1.6; }
.swb-home h2 { font-size: var(--swb-section-title-size); font-weight: 600; line-height: 1.25; letter-spacing: -.015em; }
.swb-home h3 { font-size: 1.3rem; font-weight: 600; line-height: 1.3; }
.swb-home a:focus-visible, .swb-home button:focus-visible, .swb-home summary:focus-visible { outline: 3px solid #b16620; outline-offset: 5px; }
.swb-home .swb-eyebrow { color: #267040; font-size: 1.0625rem; font-weight: 600; letter-spacing: .01em; margin: 0 0 12px; }
.swb-home .swb-small { font-size: var(--swb-note-size); color: var(--swb-muted); }
.swb-home .swb-consent-note { font-size: 1rem; line-height: 1.65; padding-left: 14px; border-left: 2px solid #b9cebe; }
.swb-home .swb-section-intro { max-width: 730px; margin-bottom: 24px; }
.swb-home .swb-section-intro > p:last-child { margin: 16px 0 0; color: var(--swb-muted); font-size: 1.0625rem; }
.swb-home .swb-hero { padding-top: 65px; padding-bottom: 0; background: radial-gradient(ellipse at 85% 15%, #d4e6d9 0, transparent 65%), #eaf3ed; border-bottom: 1px solid var(--swb-line); }
.swb-home .swb-hero-grid { display: grid; grid-template-columns: 1.06fr 1fr; gap: 65px; align-items: center; }
.swb-home .swb-hero-copy h1 { font-size: clamp(2.125rem, 4vw, 3rem); line-height: 1.15; font-weight: 600; letter-spacing: -.025em; margin-bottom: 24px; }
.swb-home .swb-hero-copy h1 span { color: #008000; }
.swb-home .swb-lead { font-size: 1.0625rem; line-height: 1.6; color: var(--swb-ink); font-weight: 500; }
.swb-home .swb-hero-copy > p:not(.swb-eyebrow):not(.swb-lead) { color: var(--swb-muted); }
.swb-home .swb-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.swb-home .swb-button { display: inline-flex; justify-content: center; align-items: center; padding: 13px 23px; min-height: 48px; border: 1px solid transparent; border-radius: 8px; font-size: 1rem; font-weight: 600; text-align: center; transition: background-color .2s, box-shadow .2s; }
.swb-home .swb-button-primary { background: #008000; color: #fff; box-shadow: 0 4px 12px #00800018; }
.swb-home .swb-button-primary:hover { background: #006800; color: #fff; }
.swb-home .swb-button-secondary { background: #fff; border-color: #b9cebe; color: var(--swb-ink); }
.swb-home .swb-button-secondary:hover { background: #ecf4ed; }
.swb-home .swb-hero-note { margin: 18px 0 0; padding-left: 20px; font-size: .9375rem; line-height: 1.6; }
.swb-home .swb-hero-note li + li { margin-top: 6px; }
.swb-home .swb-hero-note li::marker { color: #267040; }
.swb-home .swb-bubble-operator { align-self: flex-start; background: #fff; border: 1px solid #b9cebe; border-left: 3px solid #267040; border-bottom-left-radius: 3px; }
.swb-home .swb-insight-copy > p, .swb-home .swb-integrations p { max-width: 65ch; }
.swb-home .swb-steps-section, .swb-home .swb-use-cases, .swb-home .swb-integrations { padding-top: 48px; padding-bottom: 48px; }
.swb-home .swb-product-preview { margin: 0; border: 1px solid #b9cebe; border-radius: 18px; background: #fff; box-shadow: 0 24px 60px -28px #21402855; overflow: hidden; }
.swb-home .swb-preview-top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 18px; background: #f3f7f4; border-bottom: 1px solid var(--swb-line); font-size: .9375rem; color: var(--swb-muted); }
.swb-home .swb-preview-dots { display: flex; gap: 4px; }
.swb-home .swb-preview-dots i { width: 6px; height: 6px; border-radius: 50%; background: #b1c2b6; }
.swb-home .swb-preview-tag { margin-left: auto; white-space: nowrap; padding: 2px 8px; border: 1px solid #c9decd; border-radius: 4px; color: #267040; }
.swb-home .swb-demo-header { display: flex; align-items: center; gap: 12px; padding: 18px 24px; background: #214028; color: #fff; border-bottom: 1px solid #214028; }
.swb-home .swb-demo-header img { border-radius: 50%; object-fit: contain; }
.swb-home .swb-demo-header small { display: block; color: #dbebe0; font-size: .9375rem; margin-top: 3px; }
.swb-home .swb-chat-example { display: flex; flex-direction: column; gap: 11px; padding: 20px 24px; font-size: 1rem; }
.swb-home .swb-bubble { max-width: 88%; padding: 11px 14px; border-radius: 12px; margin: 0; line-height: 1.55; }
.swb-home .swb-bubble p { margin: 5px 0 0; line-height: 1.55; }
.swb-home .swb-bubble-visitor { align-self: flex-end; background: #e7edeb; border-bottom-right-radius: 3px; color: #36413a; }
.swb-home .swb-bubble-ai { align-self: flex-start; background: #edf6ef; border: 1px solid #deebe1; border-bottom-left-radius: 3px; }
.swb-home .swb-bubble-label { font-size: .9375rem; font-weight: 650; color: #307340; }
.swb-home .swb-demo-link { display: inline-block; font-size: .9375rem; font-weight: 600; color: #236536; border-bottom: 1px solid #98b99e; margin-top: 10px; }
.swb-home .swb-demo-status { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 0; color: var(--swb-muted); font-size: .9375rem; line-height: 1.4; }
.swb-home .swb-preview-foot { display: flex; gap: 9px; align-items: center; justify-content: center; padding: 13px; border-top: 1px solid #edf1ee; font-size: .9375rem; color: var(--swb-muted); }
.swb-home .swb-product-preview figcaption { padding: 10px 18px; background: #f7f9f7; font-size: .9375rem; line-height: 1.5; text-align: center; color: var(--swb-muted); }
.swb-home .swb-value-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; padding: 32px 0; margin-top: 55px; border-top: 1px solid var(--swb-line); }
.swb-home .swb-value-strip > div { display: flex; align-items: center; gap: 12px; font-size: 1rem; }
.swb-home .swb-value-strip i { font-size: 1.3rem; color: #267040; }
.swb-home .swb-value-strip strong { font-weight: 600; }
.swb-home .swb-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.swb-home .swb-feature-card { background: #fff; border: 1px solid var(--swb-line); border-radius: 12px; padding: 29px; display: flex; flex-direction: column; }
.swb-home .swb-feature-card > i { font-size: 1.55rem; display: flex; align-items: center; justify-content: center; width: 49px; height: 49px; color: #23753b; background: #edf6ef; border-radius: 10px; margin-bottom: 16px; }
.swb-home .swb-feature-card h3 { margin-bottom: 12px; }
.swb-home .swb-feature-card p { font-size: 1rem; color: var(--swb-muted); }
.swb-home .swb-feature-detail { margin-top: auto; padding-top: 15px; font-size: .9375rem; font-weight: 500; color: #327443; border-top: 1px solid #edf1ee; }
.swb-home .swb-use-cases { background: var(--swb-soft); }
.swb-home .swb-insights { background: #214c30; }
.swb-home .swb-split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.swb-home .swb-insight-preview { background: #fff; border: 1px solid var(--swb-line); padding: 30px; border-radius: 14px; }
.swb-home .swb-insight-row { display: flex; gap: 16px; padding: 16px 0; border-top: 1px solid #edf1ee; }
.swb-home .swb-insight-row h3 { font-size: 1.08rem; margin-bottom: 5px; }
.swb-home .swb-insight-row p { margin: 0; color: var(--swb-muted); font-size: 1rem; }
.swb-home .swb-insight-icon { font-size: 1.25rem; color: #37734a; }
.swb-home .swb-insight-preview > p:last-child { margin: 0; font-size: .9375rem; }
.swb-home .swb-insight-copy > p:not(.swb-eyebrow) { color: var(--swb-muted); }
.swb-home .swb-insight-copy h2 { margin-bottom: 25px; color: #fff; }
.swb-home .swb-insight-copy .swb-eyebrow { color: #c5e5cf; }
.swb-home .swb-insight-copy > p:not(.swb-eyebrow) { color: #dbebe0; }
.swb-home .swb-insight-copy .swb-text-link { display: inline-block; color: #fff; text-decoration-thickness: 1px; }
.swb-home .swb-insight-copy .swb-text-link:hover { color: #c5e5cf; }
.swb-home .swb-insight-copy a:focus-visible { outline-color: #c5e5cf; }
.swb-home .swb-text-link { font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.swb-home .swb-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.swb-home .swb-steps li { border-top: 2px solid #b9d5c0; padding-top: 20px; }
.swb-home .swb-step-number { font-size: 2rem; font-weight: 500; color: #5e8266; display: block; margin-bottom: 22px; }
.swb-home .swb-steps h3 { font-size: 1.17rem; }
.swb-home .swb-steps p { font-size: 1rem; color: var(--swb-muted); }
.swb-home .swb-use-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px; }
.swb-home .swb-use-grid article { border-left: 2px solid #b6cebc; padding-left: 23px; }
.swb-home .swb-use-label { display: block; font-size: .9375rem; font-weight: 600; color: #3e744b; margin-bottom: 13px; }
.swb-home .swb-use-grid p { color: var(--swb-muted); margin-bottom: 0; }
.swb-home .swb-custom-card { padding: 32px; border: 1px solid var(--swb-line); border-radius: 12px; background: #fcfdfc; }
.swb-home .swb-integrations p:not(.swb-eyebrow) { color: var(--swb-muted); }
.swb-home #preturi { background: var(--swb-soft); padding-bottom: 35px; }
.swb-home #preturi .section-title { max-width: 760px; padding-bottom: 36px; }
.swb-home #preturi .pricing-item { margin: 0; padding: 32px 24px; height: 100%; border: 1px solid var(--swb-line); border-radius: 15px; box-shadow: 0 3px 20px -2px #21402814; background: #fff; display: flex; flex-direction: column; }
.swb-home #preturi .pricing-item > .icon { width: 56px; height: 56px; margin: 20px auto 24px; position: relative; flex-shrink: 0; }
.swb-home #preturi .pricing-item > .icon i { position: relative; z-index: 1; font-size: 26px; }
.swb-home #preturi .pricing-item > .icon::before { width: 72px; height: 72px; }
.swb-home #preturi .pricing-item > .icon::after { width: 86px; height: 86px; }
.swb-home #preturi .pricing-item > h3 { margin-bottom: 12px; font-size: 20px; font-weight: 600; letter-spacing: 0; }
.swb-home #preturi .swb-plan-description { min-height: 3.2em; max-width: 29ch; margin: 0 auto; text-align: center; font-size: 1rem; line-height: 1.6; color: var(--swb-muted); }
.swb-home #preturi .pricing-item > h4 { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 6px; margin: 0 0 20px; font-family: var(--heading-font); line-height: 1.15; }
.swb-home #preturi .pricing-item .swb-price-amount { font-size: 48px; font-weight: 700; color: #008000; font-variant-numeric: tabular-nums; }
.swb-home #preturi .pricing-item .swb-price-period { font-size: 16px; font-weight: 400; color: var(--swb-muted); white-space: nowrap; }
.swb-home #preturi .pricing-item ul { padding: 0; margin: 0 0 24px; color: var(--swb-ink); }
.swb-home #preturi .pricing-item ul li { padding: 5px 0; margin: 0; font-size: 16px; }
.swb-home #preturi .pricing-item .swb-plan-heading { font-weight: 600; border-bottom: 1px solid var(--swb-line); padding: 0 0 10px; margin-bottom: 10px; }
.swb-home #preturi .pricing-item > .text-center { margin-top: auto; }
.swb-home #preturi .buy-btn { border-radius: 6px; padding: 10px 22px; font-size: 15px; font-weight: 600; line-height: 1.2; }
.swb-home #preturi .swb-billing-toggle { display: flex; justify-content: center; margin-bottom: 32px; }
.swb-home #preturi .swb-billing-options { width: 100%; max-width: 480px; }
.swb-home #btn-monthly, .swb-home #btn-yearly { color: #214028; border-color: #214028; min-height: 44px; padding: 9px 12px; font-size: 15px; font-weight: 600; }
.swb-home #btn-monthly { border-radius: 8px 0 0 8px; }
.swb-home #btn-yearly { border-radius: 0 8px 8px 0; }
.swb-home #btn-yearly .badge { font-size: .9375rem; border-radius: 5px; }
.swb-home #btn-monthly.active, .swb-home #btn-yearly.active { background: #214028; color: #fff; }
.swb-home #btn-monthly:hover:not(.active), .swb-home #btn-yearly:hover:not(.active) { background: #e2eee5; }
.swb-home .swb-plan-note { padding-top: 30px; padding-bottom: 50px; }
.swb-home .swb-plan-note h3 { font-size: 1.15rem; }
.swb-home .swb-included-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 35px; padding: 16px 0 16px 20px; font-size: 1rem; }
.swb-home .swb-included-list li::marker { color: #008000; }
.swb-home .swb-plan-note > .swb-small { font-size: 1rem; max-width: 80ch; }
.swb-home .swb-plan-explainer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 26px; margin: 24px 0; background: var(--swb-soft); border: 1px solid var(--swb-line); border-radius: 12px; }
.swb-home .swb-plan-explainer h4 { font-size: 1.125rem; font-weight: 600; margin: 0 0 12px; }
.swb-home .swb-plan-explainer p { font-size: 1rem; color: var(--swb-muted); line-height: 1.6; }
.swb-home .swb-plan-explainer p:last-child { margin-bottom: 0; }
.swb-home .swb-faq { background: #fff; }
.swb-home .swb-faq-list { max-width: 920px; }
.swb-home .swb-faq-list details { border-bottom: 1px solid var(--swb-line); padding: 0 4px; }
.swb-home .swb-faq-list summary { cursor: pointer; padding: 16px 22px 16px 0; font-weight: 550; font-size: 1.09rem; line-height: 1.5; }
.swb-home .swb-faq-list summary::marker { color: #008000; }
.swb-home .swb-faq-list details[open] summary { color: #007000; }
.swb-home .swb-faq-list details p { padding: 0 24px 16px 0; margin: 0; color: var(--swb-muted); }
.swb-home .swb-final-cta { padding-bottom: 0; }
.swb-home .swb-cta-panel { background: #214c30; color: #fff; border-radius: 16px; padding: 48px; display: flex; gap: 40px; align-items: center; justify-content: space-between; }
.swb-home .swb-cta-panel h2 { color: #fff; max-width: 650px; }
.swb-home .swb-cta-panel .swb-eyebrow { color: #c5e5cf; }
.swb-home .swb-cta-panel p:last-child { color: #dbebe0; margin-bottom: 0; }
.swb-home .swb-button-light { flex-shrink: 0; background: #fff; color: #214c30; }
.swb-home .swb-button-light:hover { background: #e1f0e5; }
/* Let grid and flex children shrink instead of pushing the page wider. */
.swb-home .swb-hero-grid > *, .swb-home .swb-feature-grid > *, .swb-home .swb-split > *,
.swb-home .swb-steps > *, .swb-home .swb-use-grid > *, .swb-home .swb-included-list > *,
.swb-home .swb-insight-row > *, .swb-home .swb-demo-header > * { min-width: 0; }
.swb-home .main p, .swb-home .main h1, .swb-home .main h2, .swb-home .main h3,
.swb-home .main li, .swb-home .main summary, .swb-home .footer p { overflow-wrap: anywhere; }
.swb-home #preturi .pricing-item ul li { align-items: flex-start; gap: 8px; line-height: 1.45; }
.swb-home #preturi .pricing-item ul li > i { flex: 0 0 20px; padding: 0; font-size: 20px; line-height: 1.16; }
.swb-home #preturi .pricing-item ul li > span { min-width: 0; }
.swb-home #preturi .buy-btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.swb-home .swb-preview-foot { flex-wrap: wrap; }
.swb-home .swb-demo-header img, .swb-home .swb-preview-dots { flex-shrink: 0; }
@media (max-width: 1199px) {
  .swb-home .header .mobile-nav-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: 0; }
  .swb-home .header .btn-getstarted { min-height: 44px; display: inline-flex; align-items: center; }
  .swb-home .navmenu a { white-space: normal; overflow-wrap: anywhere; }
  .swb-home .swb-hero-grid { gap: 35px; }
  .swb-home .swb-split { gap: 40px; }
  .swb-home .swb-feature-card { padding: 23px; }
}
@media (max-width: 991px) {
  .swb-home .section { padding: 40px 0; }
  .swb-home .swb-hero { padding-bottom: 0; }
  .swb-home .swb-hero-grid { grid-template-columns: 1fr; gap: 35px; }
  .swb-home .swb-hero-copy { max-width: 670px; }
  .swb-home .swb-product-preview { max-width: 580px; width: 100%; }
  .swb-home .swb-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .swb-home .swb-steps { grid-template-columns: repeat(2, 1fr); }
  .swb-home .swb-value-strip { gap: 18px; margin-top: 35px; }
  .swb-home .swb-value-strip > div { align-items: flex-start; font-size: .9375rem; }
  .swb-home .swb-split { grid-template-columns: 1fr; }
  .swb-home .swb-plan-explainer { grid-template-columns: 1fr; gap: 20px; }
  .swb-home .swb-plan-explainer > div + div { border-top: 1px solid var(--swb-line); padding-top: 20px; }
  .swb-home #preturi .swb-plan-description { min-height: 0; }
  .swb-home .swb-cta-panel { flex-direction: column; align-items: flex-start; }
  .swb-home .swb-final-cta { padding-bottom: 0; }
}
@media (max-width: 575px) {
  .swb-home .header .logo { min-width: 0; }
  .swb-home .header .logo img { max-width: min(36vw, 150px); height: auto; }
  .swb-home .header .btn-getstarted { margin-right: 4px; padding: 8px 10px; }
  .swb-home #btn-monthly, .swb-home #btn-yearly { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; white-space: normal; font-size: .9375rem; }
  .swb-home #btn-yearly .badge { margin-left: 0 !important; white-space: normal; }
  .swb-home #preturi .pricing-item { padding: 25px 22px; }
  .swb-home #preturi .buy-btn { width: 100%; }
  .swb-home .contact .php-email-form input, .swb-home .contact .php-email-form textarea { font-size: 16px; }
  .swb-home .contact .php-email-form input { min-height: 48px; }
  .swb-home .contact .php-email-form button[type="submit"] { min-height: 48px; width: 100%; }
  .swb-home .section { padding: 32px 0; }
  .swb-home .swb-hero { padding-top: 32px; padding-bottom: 0; }
  .swb-home .swb-hero-copy h1 { font-size: clamp(2rem, 8.5vw, 2.125rem); }
  .swb-home .swb-lead { font-size: 1.0625rem; }
  .swb-home .swb-eyebrow { font-size: 1rem; }
  .swb-home .swb-actions { flex-direction: column; }
  .swb-home .swb-button { width: 100%; }
  .swb-home .swb-preview-top { padding: 12px; gap: 8px; font-size: .9375rem; }
  .swb-home .swb-preview-tag { padding: 2px 5px; }
  .swb-home .swb-chat-example { padding: 18px 14px; }
  .swb-home .swb-demo-header { padding: 18px 14px; }
  .swb-home .swb-bubble { max-width: 94%; }
  .swb-home .swb-value-strip { grid-template-columns: 1fr; padding: 24px 0; gap: 17px; }
  .swb-home .swb-value-strip > div { font-size: 1rem; align-items: center; }
  .swb-home .swb-feature-grid, .swb-home .swb-use-grid, .swb-home .swb-included-list { grid-template-columns: 1fr; }
  .swb-home .swb-feature-card { padding: 20px; }
  .swb-home .swb-section-intro { margin-bottom: 24px; }
  .swb-home .swb-steps { gap: 20px; }
  .swb-home .swb-step-number { margin-bottom: 12px; }
  .swb-home .swb-steps h3 { font-size: 1.125rem; }
  .swb-home .swb-steps p { font-size: 1rem; }
  .swb-home .swb-cta-panel { padding: 28px; gap: 26px; }
  .swb-home .swb-insight-preview, .swb-home .swb-custom-card { padding: 24px; }
  .swb-home .swb-final-cta { padding-bottom: 0; }
}
@media (max-width: 399px) {
  .swb-home .swb-steps { grid-template-columns: 1fr; }
  .swb-home .swb-preview-top { flex-wrap: wrap; }
  .swb-home .swb-preview-tag { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .swb-home { scroll-behavior: auto; }
  .swb-home *, .swb-home *::before, .swb-home *::after { animation: none !important; transition: none !important; }
}

@media (min-width: 992px) {
  .swb-home .swb-insight-preview { grid-column: 1; grid-row: 1; }
  .swb-home .swb-insight-copy { grid-column: 2; grid-row: 1; }
}
