.o3-homepage {
  --home-accent: #0cf25d;
  --home-ink: #18221d;
  --home-muted: #56615b;
  color: var(--home-ink);
}
.o3-homepage #main *, .o3-homepage #main *::before, .o3-homepage #main *::after { letter-spacing: 0; }
.o3-homepage .o3-shell { background: #fff; }
.o3-homepage .container { max-width: 1240px; padding-inline: 32px; }
.o3-homepage .o3-navbar { background: #fff; box-shadow: none; }
.o3-homepage .o3-brand { font-size: 30px; letter-spacing: 0; }
.o3-homepage .o3-brand span { color: #009641; }
.o3-homepage #main .o3-btn { border-radius: 6px; min-height: 48px; padding: 14px 22px; font-size: 15px; font-weight: 700; line-height: 1.35; }
.o3-homepage #main .o3-btn-primary { background: var(--home-accent); color: #102719; box-shadow: none; }
.o3-homepage #main .o3-btn-primary:hover { background: #08dc52; color: #102719; }
.o3-homepage #main .o3-btn i { transition: transform .2s ease; }
.o3-homepage #main .o3-btn:hover i { transform: translate(2px, -2px); }
.o3-homepage a:focus-visible, .o3-homepage button:focus-visible, .o3-homepage [tabindex="0"]:focus-visible { outline: 3px solid #008137; outline-offset: 5px; }
.o3-homepage #main h1, .o3-homepage #main h2, .o3-homepage #main h3 { color: var(--home-ink); font-weight: 720; }
.o3-homepage #main h2 { font-size: 40px; line-height: 1.16; margin: 0; }
.o3-homepage #main h3 { font-size: 20px; line-height: 1.3; }
.o3-homepage #main p { text-wrap: pretty; }
.o3-home-eyebrow { font-size: 13px; font-weight: 650; margin: 0 0 18px; }
.o3-home-hero { position: relative; isolation: isolate; background: #f3f4f1; }
.o3-home-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -1; }
.o3-home-hero-inner { min-height: 600px; padding-block: 54px; display: flex; align-items: center; }
.o3-home-hero-copy { width: 49%; max-width: 560px; }
.o3-home-hero h1 { font-size: 62px; line-height: 1.04; margin: 0 0 24px; }
.o3-home-hero h1 > span { display: block; color: #006e31; margin-top: 8px; }
.o3-home-lead { max-width: 450px; font-size: 17px; line-height: 1.6; margin: 0 0 26px; }
.o3-home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 22px; }
.o3-home-text-link { display: inline-flex; align-items: center; justify-content: flex-start; gap: 10px; color: inherit; font-size: 14px; font-weight: 650; text-decoration: none; min-height: 44px; }
.o3-home-text-link:hover { color: #006e31; text-decoration: underline; text-underline-offset: 5px; }
.o3-home-offer { display: flex; align-items: baseline; gap: 9px; font-size: 13px; font-weight: 650; margin: 19px 0 0; }
.o3-home-benefits { background: #18221d; color: #fff; }
.o3-home-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-block: 24px; }
.o3-home-benefit-grid > div { display: flex; align-items: center; gap: 17px; padding-inline: 26px; border-left: 1px solid #4c5650; }
.o3-home-benefit-grid > div:first-child { border: 0; padding-left: 0; }
.o3-home-benefit-grid > div > i { color: var(--home-accent); font-size: 25px; flex: 0 0 28px; }
.o3-home-benefit-grid p { margin: 0; font-size: 14px; line-height: 1.5; }
.o3-home-benefit-grid strong, .o3-home-benefit-grid span { display: block; }
.o3-home-benefit-grid span { color: #c7d0ca; font-size: 12px; margin-top: 3px; }
.o3-home-section { padding-block: 88px; scroll-margin-top: 100px; }
.o3-home-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 44px; }
.o3-home-section-heading > div { min-width: 0; }
.o3-home-section-heading > p { flex: 0 1 360px; margin: 0; font-size: 16px; line-height: 1.7; color: var(--home-muted); }
.o3-home-product-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; gap: 60px; }
.o3-home-shop-preview { margin: 0; min-width: 0; text-align: center; }
.o3-home-shop-preview img { display: block; width: 100%; max-width: 360px; height: auto; aspect-ratio: 386 / 800; margin-inline: auto; border: 1px solid #d7dfd9; border-radius: 8px; box-shadow: 0 16px 36px rgb(24 34 29 / 9%); }
.o3-home-shop-preview figcaption { color: #647068; font-size: 12px; line-height: 1.6; margin-top: 20px; }
.o3-home-example-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.o3-home-example-grid figure { margin: 0; min-width: 0; }
.o3-home-example-grid img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 760; border: 1px solid #d7dfd9; border-radius: 8px; }
.o3-home-example-grid figcaption { display: flex; flex-direction: column; gap: 5px; padding-top: 18px; }
.o3-home-example-grid strong { font-size: 18px; }
.o3-home-example-grid figcaption span { color: var(--home-muted); font-size: 13px; }
.o3-home-feature { display: flex; gap: 17px; padding-block: 23px; border-bottom: 1px solid #e3e8e4; }
.o3-home-feature:first-child { padding-top: 0; }
.o3-home-feature > i { flex: 0 0 25px; font-size: 24px; color: #007e37; }
.o3-home-feature h3 { margin: 0 0 10px; font-size: 19px; }
.o3-home-feature p { color: var(--home-muted); font-size: 15px; line-height: 1.65; margin: 0; }
.o3-home-product-copy > a { margin-top: 20px; }
.o3-home-flow { background: #f4f6f4; }
.o3-home-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; padding: 0; margin: 0; list-style: none; counter-reset: none; }
.o3-home-steps li { display: grid; grid-template-columns: 1fr auto; align-content: start; gap: 24px 12px; border-top: 1px solid #becac0; padding-top: 23px; }
.o3-home-step-number { font-size: 15px; font-weight: 650; color: #6b756e; }
.o3-home-steps li > i { font-size: 29px; color: #08703c; }
.o3-home-steps li:nth-child(2) > i { color: #a3422f; }
.o3-home-steps li:nth-child(3) > i { color: #3b59a0; }
.o3-home-steps h3 { grid-column: 1 / -1; margin: 0; }
.o3-home-steps p { grid-column: 1 / -1; font-size: 15px; line-height: 1.7; color: var(--home-muted); margin: -12px 0 0; }
.o3-home-flow-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 40px; padding-top: 24px; border-top: 1px solid #d7dfd9; font-size: 13px; }
.o3-home-flow-footer > span { display: flex; align-items: center; gap: 10px; }
.o3-home-flow-footer > span > i { font-size: 20px; }
.o3-home-start { background: #d6f9e1; }
.o3-home-start-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 80px; align-items: center; }
.o3-home-start-grid > div:first-child > p:last-child { color: #3c5545; font-size: 16px; line-height: 1.65; max-width: 500px; margin: 22px 0 0; }
.o3-home-start-action { border-left: 1px solid #9ac8aa; padding-left: 44px; }
.o3-home-promo-title { font-size: 23px; font-weight: 720; margin: 0 0 12px; }
.o3-home-promo-detail { font-size: 14px; line-height: 1.6; color: #3c5545; margin: 0 0 10px; }
.o3-home-price { font-size: 16px; font-weight: 650; line-height: 1.6; margin: 0 0 20px; }
.o3-home-price-note { font-size: 12px; line-height: 1.6; color: #40594a; margin: 18px 0 0; max-width: 360px; }
.o3-homepage .o3-footer { border-top: 0; background: #fff; }

@keyframes o3-home-rise {
  from { transform: translateY(16px); }
  to { transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .o3-homepage [data-o3-reveal].is-in-view { animation: o3-home-rise .6s ease-out; }
}

@media (min-width: 1800px) {
  .o3-home-hero-image { object-position: center 60%; }
}
@media (min-width: 992px) and (max-height: 800px) {
  .o3-home-hero-inner { min-height: 500px; padding-block: 36px; }
  .o3-home-hero h1 { font-size: 54px; }
  .o3-home-lead { font-size: 16px; margin-bottom: 20px; }
}
@media (max-width: 1199px) {
  .o3-homepage .container { padding-inline: 28px; }
  .o3-home-hero-copy { width: 51%; }
  .o3-home-hero h1 { font-size: 54px; }
  .o3-home-actions { gap: 10px 16px; }
  .o3-home-product-grid { gap: 32px; }
  .o3-home-start-grid { gap: 40px; }
  .o3-home-benefit-grid > div { padding-inline: 18px; gap: 12px; }
}
@media (max-width: 991px) {
  .o3-home-hero-inner { min-height: 530px; padding-block: 40px; }
  .o3-home-hero-copy { width: 52%; }
  .o3-home-hero h1 { font-size: 43px; }
  .o3-home-lead { font-size: 15px; }
  .o3-homepage #main h2 { font-size: 33px; }
  .o3-home-section { padding-block: 64px; }
  .o3-home-section-heading { display: block; }
  .o3-home-section-heading > p { max-width: 580px; margin-top: 22px; }
  .o3-home-product-grid { grid-template-columns: minmax(0, 1fr); }
  .o3-home-product-copy { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .o3-home-feature { display: block; border: 0; padding: 0; }
  .o3-home-feature > i { display: block; margin-bottom: 16px; }
  .o3-home-product-copy > a { grid-column: 1 / -1; margin-top: 0; }
  .o3-home-steps { gap: 24px; }
  .o3-home-start-grid { gap: 32px; }
  .o3-home-start-action { padding-left: 28px; }
  .o3-home-benefit-grid > div { padding-inline: 14px; }
  .o3-home-benefit-grid > div > i { display: none; }
}
@media (max-width: 767px) {
  .o3-homepage .container { padding-inline: 22px; }
  .o3-home-hero { background: #f5f5f2; }
  .o3-home-hero-image { top: auto; height: 235px; object-position: right center; }
  .o3-home-hero-inner { min-height: 0; padding-block: 34px 255px; }
  .o3-home-hero-copy { width: 100%; max-width: 550px; }
  .o3-home-hero h1 { font-size: 43px; line-height: 1.04; margin-bottom: 18px; }
  .o3-home-hero h1 > span { margin-top: 6px; }
  .o3-home-hero h1 br { display: none; }
  .o3-home-lead { font-size: 15px; line-height: 1.55; max-width: 500px; margin-bottom: 22px; }
  .o3-home-eyebrow { font-size: 12px; margin-bottom: 14px; }
  .o3-home-actions { gap: 8px 16px; }
  .o3-homepage #main .o3-btn { padding: 12px 16px; min-height: 46px; font-size: 14px; }
  .o3-home-text-link { font-size: 13px; }
  .o3-home-offer { font-size: 12px; margin-top: 12px; }
  .o3-home-benefit-grid { grid-template-columns: minmax(0, 1fr); padding-block: 16px; gap: 12px; }
  .o3-home-benefit-grid > div { border: 0; padding: 0; gap: 14px; }
  .o3-home-benefit-grid > div > i { display: block; font-size: 21px; }
  .o3-home-benefit-grid p { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 8px; font-size: 12px; }
  .o3-home-benefit-grid span { font-size: 11px; margin: 0; }
  .o3-homepage #main h2 { font-size: 30px; }
  .o3-home-section { padding-block: 48px; scroll-margin-top: 88px; }
  .o3-home-section-heading { margin-bottom: 28px; }
  .o3-home-section-heading > p { font-size: 15px; line-height: 1.65; margin-top: 18px; }
  .o3-home-shop-preview figcaption { margin-top: 16px; font-size: 11px; }
  .o3-home-example-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .o3-home-product-copy { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .o3-home-feature, .o3-home-feature:first-child { display: flex; border-bottom: 1px solid #e3e8e4; padding-block: 20px; }
  .o3-home-feature > i { margin: 0; }
  .o3-home-feature h3 { font-size: 18px; }
  .o3-home-product-copy > a { margin-top: 16px; }
  .o3-home-steps { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .o3-home-steps li { gap: 16px 12px; }
  .o3-home-steps p { margin-top: -6px; }
  .o3-home-flow-footer { margin-top: 30px; }
  .o3-home-start-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .o3-home-start-action { border-left: 0; border-top: 1px solid #9ac8aa; padding: 24px 0 0; }
  .o3-home-start-action .o3-btn { width: 100%; }
}
@media (max-width: 767px) and (max-height: 740px) {
  .o3-home-hero-inner { padding-block: 24px 172px; }
  .o3-home-hero-image { height: 156px; }
  .o3-home-hero h1 { font-size: 35px; }
  .o3-home-lead { font-size: 14px; margin-bottom: 14px; }
}
@media (max-width: 359px) {
  .o3-homepage .container { padding-inline: 18px; }
  .o3-home-hero h1 { font-size: 32px; }
  .o3-homepage #main h2 { font-size: 27px; }
}
@media (max-width: 767px) and (max-height: 620px) {
  .o3-home-hero-inner { padding-block: 20px 112px; }
  .o3-home-hero-image { height: 100px; }
}
