@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;800&family=Tajawal:wght@400;500;700;800&display=swap');

:root{
  --forest:#032f25;
  --dark:#073f31;
  --green:#0f5b43;
  --highlight:#1a7354;
  --lime:#b7ff19;
  --paper:#f7f8f7;
  --muted:#6d7c76;
  --border:#e3ebe6;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:85px}

body{
  display:block;
  width:100%;
  margin:0;
  background:#fff;
  color:var(--forest);
  font-family:'DM Sans',Arial,sans-serif;
  overflow-x:hidden;
}

html[dir=rtl] body{font-family:Tajawal,Arial,sans-serif}

a{text-decoration:none;color:inherit}
button,select{font:inherit}

.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}

.icon{
  display:block;
  width:20px;height:20px;
  fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}

.container{
  width:min(1180px,calc(100% - 40px));
  margin-inline:auto;
}

.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(18px);
}

.navbar{
  min-height:76px;
  display:flex;align-items:center;
  justify-content:space-between;gap:22px;
}

.brand{
  display:flex;align-items:center;gap:10px;
  font-weight:800;font-size:18px;white-space:nowrap;
}

.brand img{max-width:145px;max-height:38px;object-fit:contain}

.brand-mark{
  display:grid;place-items:center;
  width:34px;height:34px;border-radius:10px;
  background:var(--forest);color:#fff;font-weight:800;
}

.nav-links,.nav-actions{
  display:flex;align-items:center;gap:24px;
}

.nav-links a,.login-link{
  font-size:13px;font-weight:700;color:#52695e;
}

.nav-actions{gap:15px}
.nav-actions select{
  background:#fff;color:var(--forest);
  border:1px solid var(--border);
  border-radius:100px;padding:10px;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--green);
  background:var(--green);color:#fff;
  padding:13px 22px;border-radius:999px;
  font-size:13px;font-weight:800;
  transition:transform .2s,box-shadow .2s;
  text-align:center;
}

.btn:hover{transform:translateY(-2px);box-shadow:0 12px 25px #032f2520}
.btn-dark{background:var(--forest);border-color:var(--forest)}
.btn-lime{background:var(--lime);color:var(--forest);border-color:var(--lime)}
.btn-outline{background:white;color:var(--green);border-color:#ceded4}

main{display:block;width:100%}
main>section{display:block;width:100%;clear:both}

.hero{
  text-align:center;
  padding:80px 0 60px;
  background:linear-gradient(180deg,#fff 0%,#fbfdfc 40%,#eef6f1 100%);
}

.eyebrow,.chip{
  display:inline-block;
  border-radius:999px;padding:9px 16px;
  background:#edf6f1;border:1px solid #daeade;
  color:var(--green);font-size:11px;font-weight:800;
}

.hero h1{
  max-width:900px;
  margin:23px auto 17px;
  font-size:clamp(35px,5vw,60px);
  line-height:1.1;letter-spacing:-2px;
}

.hero h1 span,.hero h1 em{display:block}
.hero h1 em{font-style:normal;color:var(--green)}

.section-description{
  max-width:690px;margin:0 auto;
  color:var(--muted);font-size:16px;line-height:1.8;
}

.hero-actions{
  display:flex;justify-content:center;gap:12px;
  flex-wrap:wrap;margin:27px 0 12px;
}

.micro{font-size:11px;color:#899991}

.showcase{
  max-width:1040px;
  margin:45px auto 0;
  padding:16px;border-radius:28px;
  background:linear-gradient(180deg,#dff0e5,#f7faf8);
  border:1px solid #d9e9df;
  box-shadow:0 24px 55px #032f2514;
}

.mock{
  background:#fff;border-radius:18px;overflow:hidden;
  border:1px solid #d9e7dd;text-align:start;
  box-shadow:0 12px 35px #032f2510;
}

.mock-top{
  padding:14px 18px;
  display:flex;justify-content:space-between;
  border-bottom:1px solid #e9eeeb;
  color:#6a8072;font-size:11px;
}

.dots{letter-spacing:3px;color:#a6b9ae}

.mock-body{display:grid;grid-template-columns:175px minmax(0,1fr);min-height:385px}

.mock-sidebar{
  background:linear-gradient(165deg,#0f5b43,#032f25);
  color:#d9eee2;padding:23px 13px;
  display:flex;flex-direction:column;gap:12px;
}

.mock-sidebar strong{font-size:13px;color:#fff;margin-bottom:10px}
.mock-sidebar span{font-size:11px;padding:10px;border-radius:8px}
.mock-sidebar span:first-of-type{background:#ffffff20}

.mock-content{padding:25px;background:#fcfefd;min-width:0}

.mock-heading{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;margin-bottom:20px;
}
.mock-heading small{color:#83978c;font-size:10px}
.mock-heading h3{font-size:22px;margin:5px 0}
.mock-button{padding:9px 12px;background:var(--green);color:white;border-radius:8px;font-size:10px}

.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.stat{border:1px solid var(--border);background:#fff;border-radius:13px;padding:15px}
.stat small{display:block;color:#82948a;font-size:10px}
.stat strong{display:block;font-size:24px;margin:8px 0}

.mock-panels{
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:14px;margin-top:15px;
}
.mock-panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px}
.mock-panel h4{margin:0 0 17px;font-size:12px}
.chart-bars{height:115px;display:flex;align-items:flex-end;gap:9px}
.chart-bars i{flex:1;border-radius:6px 6px 0 0;background:#b7dac6}
.chart-bars i:nth-child(4),.chart-bars i:nth-child(6){background:var(--green)}
.chart-bars i:last-child{background:var(--lime)}
.mock-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eef3ef;font-size:10px}
.mock-row span:last-child{color:var(--green)}
.mock-caption{font-size:10px;color:#84998d;margin:14px 0 0}

.section{padding:95px 0}
.section-muted{background:var(--paper)}
.section-heading{text-align:center;max-width:730px;margin:0 auto 48px}
.kicker{display:block;color:var(--green);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:800}
.section-heading h2{font-size:clamp(30px,3.6vw,44px);line-height:1.18;letter-spacing:-1.2px;margin:14px 0}
.section-heading p{color:var(--muted);line-height:1.8;margin:0}

.problem-grid,.module-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;
}

.problem-card,.module-card,.step-card{
  background:#fff;border:1px solid var(--border);
  border-radius:17px;padding:23px 20px;
  transition:transform .2s,box-shadow .2s;
}

.problem-card:hover,.module-card:hover,.step-card:hover{
  transform:translateY(-4px);box-shadow:0 14px 35px #032f2510;
}

.problem-icon,.module-icon,.step-icon{
  display:grid;place-items:center;width:42px;height:42px;border-radius:12px;
}

.problem-icon{background:#fff0ea;color:#c46a4e}
.module-icon,.step-icon{background:var(--forest);color:var(--lime)}
.problem-card h3,.module-card h3,.step-card h3{font-size:15px;margin:17px 0 9px}
.problem-card p,.module-card p,.step-card p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}

.feature-row{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;gap:70px;margin:80px 0 110px;
}
.feature-row:last-child{margin-bottom:0}
.feature-reverse .feature-preview{order:-1}
.feature-content{max-width:475px}
.feature-content h2{font-size:clamp(28px,3vw,38px);line-height:1.15;letter-spacing:-1px;margin:15px 0}
.feature-content p{line-height:1.85;color:var(--muted)}
.check-list{list-style:none;padding:0;margin:23px 0}
.check-list li{font-size:13px;margin:12px 0;color:#4c6b58}
.check-list li:before{content:"✓";color:var(--green);font-weight:900;margin-inline-end:10px}

.feature-preview{padding:18px;border-radius:19px;background:#eef5f0;border:1px solid #dce9df}
.preview-panel{background:white;min-height:255px;border-radius:14px;border:1px solid #dfebe2;padding:19px}
.preview-heading{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding-bottom:15px}
.preview-heading strong{font-size:13px}
.preview-heading small{font-size:10px;color:var(--green)}
.preview-panel table{width:100%;border-collapse:collapse;font-size:11px;margin-top:12px}
.preview-panel td{padding:13px 4px;border-bottom:1px solid #edf2ed}

.module-card h3{line-height:1.4}
.module-card p{margin-top:8px}

.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.step-top{display:flex;align-items:center;justify-content:space-between}
.step-number{font-size:13px;font-weight:800;color:#9ab4a6}

.pricing-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:960px;gap:15px;margin:auto;align-items:stretch;
}
.price-card{padding:30px;border-radius:18px;background:#fff;border:1px solid var(--border);display:flex;flex-direction:column}
.price-card h3{font-size:19px;margin:0}
.price-card>p{font-size:12px;line-height:1.7;color:var(--muted);min-height:52px}
.price-value{font-size:23px;font-weight:800;margin:15px 0}
.price-card ul{list-style:none;padding:0;flex:1;font-size:12px;line-height:2.5}
.price-card li:before{content:"✓";color:var(--green);margin-inline-end:9px}
.price-card .btn{width:100%}
.price-featured{
  background:linear-gradient(160deg,#145b43,#032f25);
  color:#fff;transform:translateY(-7px);
  box-shadow:0 20px 40px #032f2526;
}
.price-featured>p{color:#c5dfd1}
.price-featured li:before{color:var(--lime)}

.faq-list{max-width:820px;margin:auto}
.faq-list details{padding:20px 6px;border-bottom:1px solid var(--border)}
.faq-list summary{cursor:pointer;font-size:14px;font-weight:800}
.faq-list details p{color:var(--muted);font-size:13px;line-height:1.8}

.final-section{padding:35px 0 45px;background:#fff}
.final-cta{
  position:relative;overflow:hidden;text-align:center;color:#fff;
  padding:75px 30px 88px;border-radius:30px;
  background:radial-gradient(circle at 70% 10%,#1a7354 0%,#0a4c39 45%,#032f25 100%);
}
.final-cta:before{
  content:"";position:absolute;right:-90px;bottom:-160px;
  width:360px;height:360px;border-radius:50%;
  border:1px solid #b7ff192e;
  box-shadow:0 0 0 80px #b7ff190d,0 0 0 160px #b7ff1907;
  pointer-events:none;
}
.final-kicker{color:var(--lime);font-weight:800;letter-spacing:2px;font-size:12px}
.final-cta h2{max-width:770px;margin:22px auto 17px;font-size:clamp(30px,4vw,48px);line-height:1.14}
.final-cta>p{max-width:670px;margin:auto;color:#d4e7de;line-height:1.8;font-size:14px}
.cta-box{
  position:relative;
  display:flex;align-items:center;gap:15px;
  max-width:870px;margin:38px auto 0;
  padding:11px;background:#fff;color:#6e7d74;border-radius:20px;
}
.cta-box>.icon{margin-inline-start:14px;flex-shrink:0}
.cta-box span{flex:1;text-align:start;font-size:16px}
.cta-box .btn{border-radius:14px;white-space:nowrap;padding:19px 25px}

.site-footer{padding:38px 0;border-top:1px solid var(--border)}
.footer-content{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-content>span{font-size:12px;color:var(--muted)}
a:focus-visible,select:focus-visible{outline:3px solid var(--highlight);outline-offset:3px}
html[dir=rtl] h1,html[dir=rtl] h2{letter-spacing:0}

@media(max-width:980px){
  .nav-links{display:none}
  .feature-row{gap:35px}
  .problem-grid,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:720px){
  .container{width:calc(100% - 28px)}
  .navbar{gap:12px;flex-wrap:wrap;padding:12px 0}
  .nav-actions{gap:10px}
  .nav-demo{padding:10px 13px}
  .hero{padding:55px 0 35px}
  .hero h1{font-size:clamp(30px,8vw,44px)}
  .section-description{font-size:15px}
  .hero-actions{flex-direction:column;align-items:center}
  .hero-actions .btn{width:min(100%,320px)}
  .showcase{padding:9px;border-radius:18px}
  .mock-body{grid-template-columns:1fr}
  .mock-sidebar{display:none}
  .mock-content{padding:15px}
  .mock-panels,.feature-row,.pricing-grid,.steps{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
  .section{padding:70px 0}
  .section-heading h2{font-size:clamp(28px,8vw,38px)}
  .problem-grid,.module-grid{grid-template-columns:1fr}
  .feature-row{margin:55px 0 80px}
  .feature-reverse .feature-preview{order:0}
  .price-featured{transform:none}
  .final-cta{padding:55px 17px;border-radius:24px}
  .final-cta h2{font-size:clamp(27px,8vw,37px)}
  .cta-box{flex-direction:column;align-items:stretch}
  .cta-box>.icon{display:none}
  .cta-box span{text-align:center;padding:8px}
  .cta-box .btn{width:100%}
  .footer-content{flex-direction:column;text-align:center}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *{transition:none!important}
}

/* STEP 110.7.G — Dynamic marketing pricing */

.marketing-pricing-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:1180px;
}

.marketing-price-card {
  min-width:0;
  position:relative;
}

.marketing-price-card h3,
.marketing-price-card>p,
.marketing-price-card li {
  overflow-wrap:anywhere;
}

.marketing-price-card .price-value {
  font-size:clamp(19px,2vw,25px);
}

.marketing-price-card .price-value small {
  display:block;
  font-size:12px;
  font-weight:500;
  margin-top:5px;
}

.marketing-price-card .price-value [hidden] {
  display:none !important;
}

.marketing-price-card .pricing-popular {
  display:inline-flex;
  align-self:flex-start;
  background:#b7ff19;
  color:#032f25;
  border-radius:99px;
  font-weight:800;
  font-size:10px;
  padding:7px 11px;
  margin-bottom:18px;
}

.pricing-periods {
  display:flex;
  width:max-content;
  max-width:100%;
  margin:0 auto 32px;
  gap:4px;
  border-radius:99px;
  padding:5px;
  background:#e7eee9;
}

.pricing-period {
  border:0;
  border-radius:99px;
  padding:11px 24px;
  background:transparent;
  color:#456959;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

.pricing-period.is-selected {
  color:#fff;
  background:#0f5b43;
}

.marketing-price-card.price-featured {
  transform:translateY(-7px);
}

@media(max-width:1000px) {
  .marketing-pricing-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:650px) {
  .marketing-pricing-grid {
    grid-template-columns:1fr;
  }

  .marketing-price-card.price-featured {
    transform:none;
  }
}

/* ========================================
   STEP 110.7.H.4
   LANDING MARKETING PROMOTIONS
   ======================================== */

.marketing-price-card .marketing-promotion-badge {
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    width:fit-content;
    max-width:100%;
    margin:0 0 15px;
    padding:7px 12px;
    border:1px solid #b9e6c7;
    border-radius:999px;
    background:#e5f7e9;
    color:#0f5b43;
    font-size:11px;
    font-weight:800;
    line-height:1.45;
    overflow-wrap:anywhere;
}

.marketing-price-card .marketing-price-amounts {
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:7px 11px;
    max-width:100%;
}

.marketing-price-card .marketing-current-price {
    display:inline-block;
    color:#032f25;
    font-size:clamp(21px,2vw,28px);
    font-weight:850;
    line-height:1.25;
    white-space:nowrap;
}

.marketing-price-card .marketing-old-price {
    display:inline-block;
    color:#84958c;
    font-size:clamp(13px,1.25vw,16px);
    font-weight:500;
    line-height:1.4;
    text-decoration:line-through;
    text-decoration-thickness:1.5px;
    white-space:nowrap;
}

.marketing-price-card .price-value small {
    margin-top:7px;
    color:#718378;
}

.marketing-price-card [data-price-monthly][hidden],
.marketing-price-card [data-price-yearly][hidden] {
    display:none!important;
}

@media(max-width:650px) {
    .marketing-price-card .marketing-current-price {
        font-size:26px;
    }

    .marketing-price-card .marketing-old-price {
        font-size:15px;
    }
}


/* ==============================================
   STEP 110.7.H.5.A PRICING REFINEMENT
   Marketing pricing cards only
   ============================================== */

/* Consistent card layout and internal rhythm */
.marketing-pricing-grid .marketing-price-card {
    display:flex;
    flex-direction:column;
    min-width:0;
    box-sizing:border-box;
    padding:32px 28px;
}

/* Reserve equal space above headings whether badges exist or not */
.marketing-pricing-grid .marketing-price-card {
    --pricing-badge-space:42px;
}

.marketing-pricing-grid .marketing-price-card::before {
    content:"";
    display:block;
    flex-shrink:0;
    height:var(--pricing-badge-space);
    order:-2;
}

/* Both badges occupy the same reserved top zone */
.marketing-pricing-grid .marketing-price-card > .pricing-popular,
.marketing-pricing-grid .marketing-price-card > .marketing-promotion-badge {
    position:absolute;
    inset-block-start:30px;
    inset-inline-start:28px;
    margin:0;
    max-width:calc(100% - 56px);
    z-index:1;
}

/* Matching title and description positioning */
.marketing-pricing-grid .marketing-price-card > h3 {
    margin-top:0;
    margin-bottom:14px;
    min-height:30px;
    line-height:1.35;
    overflow-wrap:anywhere;
}

.marketing-pricing-grid .marketing-price-card > h3 + p {
    margin-top:0;
    margin-bottom:0;
    min-height:110px;
    line-height:1.75;
    overflow-wrap:anywhere;
}

/* Dedicated price area with predictable height */
.marketing-pricing-grid .marketing-price-card > .price-value {
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    margin-top:20px;
    margin-bottom:22px;
    min-height:93px;
    color:#032f25;
    line-height:1.3;
}

/* Important: featured Pro card requires high-contrast text */
.marketing-pricing-grid .marketing-price-card.price-featured > .price-value,
.marketing-pricing-grid .marketing-price-card.price-featured .marketing-current-price,
.marketing-pricing-grid .marketing-price-card.price-featured .price-value > span,
.marketing-pricing-grid .marketing-price-card.price-featured .price-value [data-price-monthly] > span,
.marketing-pricing-grid .marketing-price-card.price-featured .price-value [data-price-yearly] > span {
    color:#ffffff;
}

.marketing-pricing-grid .marketing-price-card.price-featured .price-value small {
    color:#d2e9de;
}

.marketing-pricing-grid .marketing-price-card.price-featured .marketing-old-price {
    color:#c5d9d0;
    text-decoration-color:#c5d9d0;
}

/* Current and previous prices */
.marketing-pricing-grid .marketing-price-amounts {
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    column-gap:12px;
    row-gap:5px;
    max-width:100%;
}

.marketing-pricing-grid .marketing-current-price {
    font-size:clamp(21px,2vw,27px);
    font-weight:800;
    line-height:1.25;
    white-space:normal;
}

.marketing-pricing-grid .marketing-old-price {
    font-size:14px;
    font-weight:500;
    opacity:.85;
    white-space:normal;
}

/* Structured feature list */
.marketing-pricing-grid .marketing-price-card > ul {
    padding:0;
    margin:0 0 26px;
    list-style:none;
}

.marketing-pricing-grid .marketing-price-card > ul li {
    position:relative;
    display:block;
    padding-inline-start:22px;
    margin-bottom:13px;
    line-height:1.65;
    overflow-wrap:anywhere;
}

.marketing-pricing-grid .marketing-price-card > ul li::before {
    content:"✓";
    position:absolute;
    inset-inline-start:0;
    top:0;
    font-weight:800;
    color:#0f5b43;
}

/* Remove inherited list marker to avoid duplicated checks */
.marketing-pricing-grid .marketing-price-card > ul li::marker {
    content:"";
}

.marketing-pricing-grid .marketing-price-card.price-featured > ul li::before {
    color:#b7ff19;
}

/* Keep all CTA buttons aligned at the bottom */
.marketing-pricing-grid .marketing-price-card > a.btn {
    margin-top:auto;
    width:100%;
    box-sizing:border-box;
    text-align:center;
}

/* Responsive typography and spacing */
@media(max-width:1100px) {
    .marketing-pricing-grid .marketing-price-card {
        padding:28px 22px;
    }

    .marketing-pricing-grid .marketing-price-card > .pricing-popular,
    .marketing-pricing-grid .marketing-price-card > .marketing-promotion-badge {
        inset-block-start:27px;
        inset-inline-start:22px;
        max-width:calc(100% - 44px);
    }
}

@media(max-width:650px) {
    .marketing-pricing-grid .marketing-price-card {
        padding:26px 22px;
    }

    .marketing-pricing-grid .marketing-price-card > h3 + p {
        min-height:0;
        margin-bottom:12px;
    }

    .marketing-pricing-grid .marketing-price-card > .price-value {
        min-height:0;
        margin-top:12px;
        margin-bottom:24px;
    }

    .marketing-pricing-grid .marketing-price-card > .pricing-popular,
    .marketing-pricing-grid .marketing-price-card > .marketing-promotion-badge {
        inset-block-start:25px;
    }

    .marketing-pricing-grid .marketing-price-card::before {
        height:39px;
    }
}


/* STEP 110.7.H.5.A.1 SPACING CORRECTION */

@media(min-width:651px) {
    .marketing-pricing-grid .marketing-price-card > h3 + p {
        min-height:75px;
    }

    .marketing-pricing-grid .marketing-price-card > .price-value {
        margin-top:10px;
        margin-bottom:18px;
        min-height:84px;
    }
}


/* ==============================================
   STEP 110.7.H.5.B
   LANDING MOBILE HEADER + DIRECT FINAL CTA
   ============================================== */

/* The new mobile-only navigation has no effect on desktop. */
.landing-mobile-menu {
    display:none;
}

/* Final CTA: one clear conversion action. */
.final-cta .final-cta-action {
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:32px auto 0;
}

.final-cta .final-cta-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:13px;
    width:auto;
    min-width:210px;
    max-width:100%;
    min-height:54px;
    padding:14px 26px;
    border-radius:13px;
    background:#b7ff19;
    border-color:#b7ff19;
    color:#032f25;
    font-size:14px;
    font-weight:800;
    text-align:center;
    box-sizing:border-box;
    transition:transform .15s ease,background .15s ease;
}

.final-cta .final-cta-button:hover {
    background:#cbff51;
    border-color:#cbff51;
    transform:translateY(-2px);
}

.final-cta .final-cta-button svg {
    width:17px;
    height:17px;
    flex-shrink:0;
}

@media(max-width:720px) {
    .site-header .navbar {
        position:relative;
        display:flex;
        align-items:center;
        justify-content:space-between;
        flex-wrap:nowrap;
        min-height:66px;
        padding:9px 0;
        gap:12px;
    }

    .site-header .navbar > .brand {
        flex:0 1 auto;
        min-width:0;
        max-width:calc(100% - 115px);
        display:flex;
        align-items:center;
        gap:10px;
    }

    .site-header .navbar > .brand > span:last-child {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .site-header .navbar > .nav-links,
    .site-header .navbar > .nav-actions {
        display:none;
    }

    .site-header .landing-mobile-menu {
        display:block;
        flex:0 0 auto;
        position:static;
        z-index:40;
    }

    .site-header .landing-mobile-trigger {
        display:flex;
        align-items:center;
        justify-content:center;
        gap:7px;
        min-width:44px;
        min-height:44px;
        padding:9px 11px;
        border:1px solid #dde9e2;
        background:#fff;
        border-radius:12px;
        font-size:12px;
        font-weight:750;
        color:#032f25;
        cursor:pointer;
        list-style:none;
        user-select:none;
        box-sizing:border-box;
    }

    .site-header .landing-mobile-trigger::-webkit-details-marker {
        display:none;
    }

    .site-header .landing-menu-icon {
        width:20px;
        height:20px;
    }

    .site-header .landing-mobile-panel {
        position:absolute;
        inset-block-start:calc(100% + 1px);
        inset-inline:0;
        z-index:45;
        max-height:calc(100dvh - 85px);
        overflow-y:auto;
        padding:18px;
        border:1px solid #dce8e0;
        border-radius:0 0 18px 18px;
        background:#fff;
        box-shadow:0 22px 38px rgba(3,47,37,.13);
    }

    .site-header .landing-mobile-links {
        display:grid;
        gap:0;
    }

    .site-header .landing-mobile-links a {
        display:block;
        padding:13px 5px;
        border-bottom:1px solid #edf2ee;
        color:#032f25;
        font-size:14px;
        font-weight:700;
        text-decoration:none;
    }

    .site-header .landing-mobile-actions {
        display:grid;
        gap:15px;
        padding-top:18px;
    }

    .site-header .landing-mobile-login {
        color:#0f5b43;
        font-weight:700;
        text-decoration:none;
        font-size:14px;
    }

    .site-header .landing-mobile-actions form {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
    }

    .site-header .landing-mobile-actions form label {
        font-size:13px;
        font-weight:650;
        color:#52695e;
    }

    .site-header .landing-mobile-actions select {
        border:1px solid #dce8e0;
        border-radius:11px;
        background:#fff;
        padding:9px 12px;
        color:#032f25;
        font-size:13px;
        min-width:84px;
    }

    .site-header .landing-mobile-demo {
        display:flex;
        width:100%;
        min-height:46px;
        border-radius:12px;
        text-align:center;
    }

    .final-cta .final-cta-action {
        margin-top:25px;
    }

    .final-cta .final-cta-button {
        width:min(100%,280px);
        min-width:0;
    }
}

@media(max-width:360px) {
    .site-header .landing-menu-caption {
        display:none;
    }

    .site-header .navbar > .brand {
        max-width:calc(100% - 58px);
    }
}

@media(prefers-reduced-motion:reduce) {
    .final-cta .final-cta-button {
        transition:none;
    }
}



/* ====================================
   STEP 112.3.B.1 — FOOTER V2
   ==================================== */

.site-footer.footer-v2{
    padding:0;
    border-top:0;
    background:#032F25;
    color:#F3FFF6;
}

.footer-v2-main{
    display:grid;
    /* FOOTER_GRID_4COL_R1 */
    grid-template-columns:minmax(0,1.55fr) repeat(3,minmax(0,1fr));
    gap:clamp(24px,3vw,55px);
    padding:70px 0 58px;
}

.footer-v2-brand{
    max-width:380px;
}

.footer-v2-brand-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
    color:#fff;
    max-width:100%;
}

.footer-v2-logo{
    display:block;
    width:auto;
    max-width:215px;
    max-height:58px;
    object-fit:contain;
}

.footer-v2-logo[hidden],
.footer-v2-brand-name[hidden]{
    display:none!important;
}

.footer-v2-brand-name{
    color:#fff;
    font-size:22px;
    font-weight:800;
    letter-spacing:-.5px;
}

.footer-v2-description{
    margin:20px 0 0;
    font-size:14px;
    line-height:1.85;
    color:#B6CFC1;
    max-width:350px;
}

.footer-v2-column{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:15px;
    min-width:0;
}

.footer-v2-column h2{
    margin:0 0 9px;
    font-size:14px;
    font-weight:750;
    color:#F5FFF6;
}

.footer-v2-column ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
}

.footer-v2-column a,
.footer-v2-column address{
    color:#B6CFC1;
    text-decoration:none;
    font-size:13px;
    line-height:1.8;
    font-style:normal;
    overflow-wrap:anywhere;
}

.footer-v2-column address{
    white-space:pre-line;
}

.footer-v2-column a:hover{
    color:#B7FF19;
}

.footer-v2-bottom{
    display:flex;
    align-items:center;
    justify-content:center;
    border-top:1px solid rgba(255,255,255,.13);
    min-height:75px;
    padding:23px 0;
    text-align:center;
}

.footer-v2-bottom span{
    color:#A9C3B4;
    font-size:12px;
    line-height:1.7;
}

@media(max-width:900px){
    .footer-v2-main{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:38px;
        padding:52px 0;
    }
    .footer-v2-brand{
        grid-column:1/-1;
    }
}

@media(max-width:560px){
    .footer-v2-main{
        grid-template-columns:1fr;
        gap:32px;
        padding:45px 0 38px;
    }
    .footer-v2-brand{
        grid-column:auto;
    }
    .footer-v2-bottom{
        justify-content:flex-start;
        text-align:start;
    }
}

html[dir=rtl] .footer-v2-column{
    align-items:flex-start;
}

/* STEP 112.3.B.1.R2 — CTA / FOOTER SPACING */
main > .section:last-child {
    padding-bottom: 85px;
    margin-bottom: 0;
}

main + .site-footer.footer-v2 {
    margin-top: 0;
}

@media (max-width: 560px) {
    main > .section:last-child {
        padding-bottom: 55px;
    }
}




/* STEP 112.3.B.1.R5 — FINAL CTA / FOOTER SPACING */
main > .final-section:last-child {
    padding-bottom: 72px;
    margin-bottom: 0;
}

main + .site-footer.footer-v2 {
    margin-top: 0;
}

@media (max-width: 560px) {
    main > .final-section:last-child {
        padding-bottom: 44px;
    }
}
