.elementor-kit-7{--e-global-color-primary:#0d6b3a;--e-global-color-secondary:#1a2420;--e-global-color-text:#2c3330;--e-global-color-accent:#eaf4ee;--e-global-color-brand-green:#0d6b3a;--e-global-color-brand-green-dark:#084d28;--e-global-color-brand-green-light:#eaf4ee;--e-global-color-dark:#1a2420;--e-global-color-text-color:#2c3330;--e-global-color-muted:#6b7876;--e-global-color-border:#dce8e1;--e-global-color-warm-bg:#f2f5f0;--e-global-color-white:#ffffff;--e-global-color-whatsapp-green:#25D366;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Cormorant Garamond";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-weight:700;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==== Esther Ng - base type ==== */
body,.elementor-widget-text-editor,.elementor-widget-html{font-family:'Plus Jakarta Sans',sans-serif}
h1,h2,h3,h4,.elementor-heading-title{font-family:'Cormorant Garamond',Georgia,serif}
.stat-figure .elementor-heading-title{font-family:'Plus Jakarta Sans',sans-serif!important;font-variant-numeric:lining-nums tabular-nums;font-weight:700}

/* ==== MEDIA FIT (audit item 3) - img defaults to object-fit:fill, which stretches ==== */
.elementor-widget-image img{object-fit:cover;object-position:center center}
.elementor-widget-image img[src*="esther-ng-logo"],.site-header img,.footer-logo img{object-fit:contain!important}

/* Footer logo (audit item 2): keep 4.5:1 ratio, render white on the dark footer */
.footer-logo img{width:160px!important;height:auto!important;max-width:100%;filter:brightness(0) invert(1)!important}
@media(max-width:767px){.footer-logo img{width:140px!important}}

/* Hero portrait (audit item 6): cover, and fade the hard bottom cut into the page */
.hero-portrait img{object-fit:cover!important;object-position:top center}
/* Circular hero portrait: crisp CSS circle, soft ring, no hard bottom cut */
.hero-portrait--circle img{aspect-ratio:1/1;border-radius:50%!important;object-position:center center;-webkit-mask-image:none!important;mask-image:none!important;box-shadow:0 18px 44px rgba(26,36,32,.16);background:#f4f7f4}
.hero-portrait--circle{width:auto!important}

/* Framed content images (audit items 8, 9, 10, 13) */
.about-portrait--studio img{object-position:center center!important}
.about-portrait img{object-fit:cover!important;object-position:top center;aspect-ratio:4/5;height:auto!important;width:100%!important}
.cred-photo img{object-fit:cover!important;object-position:center 38%;aspect-ratio:4/5;max-height:540px;height:auto!important;width:100%!important}
.team-photo img{border-radius:14px;border:1px solid #dce8e1;background:#f7f9f7;object-fit:cover!important;aspect-ratio:2/1;height:auto!important}
.teaser-photo img{object-fit:cover!important;aspect-ratio:16/10;height:auto!important;width:100%!important}
.svc-photo img{object-fit:cover!important;aspect-ratio:16/10;height:auto!important;width:100%!important}
.wide-photo{width:100%!important;max-width:1120px!important;margin:44px auto 40px!important}
.wide-photo img{display:block;width:100%!important;height:auto!important;aspect-ratio:2/1;object-fit:cover!important;object-position:center 42%;border-radius:14px}
@media(max-width:767px){.wide-photo{margin:32px auto 28px!important}.wide-photo img{aspect-ratio:16/10;border-radius:12px}}

/* Review screenshots (audit item 4): never upscale past native width */
.shot-fb img{max-width:507px!important;width:100%!important;height:auto!important;margin:0 auto;object-fit:contain!important}
.shot-srx img{max-width:100%;width:100%!important;height:auto!important;object-fit:contain!important}
.shots-grid,.elementor-element-t3s00003{display:grid;gap:20px}

/* ==== Buttons ==== */
.btn-o .elementor-button:hover{background:#eaf4ee!important}
.wa-btn .elementor-button-text::before{content:'';display:inline-block;width:17px;height:17px;margin-right:9px;vertical-align:-3px;background-color:currentColor;-webkit-mask:url('data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%3Cpath%20d=%22M17.47 14.38c-.3-.15-1.75-.86-2.02-.96-.27-.1-.47-.15-.67.15-.2.3-.77.96-.94 1.16-.17.2-.35.22-.64.07-.3-.15-1.25-.46-2.39-1.47-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.67-1.61-.92-2.21-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.01-1.04 2.47s1.06 2.87 1.21 3.07c.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.69.63.71.23 1.36.19 1.87.12.57-.09 1.75-.72 2-1.41.25-.69.25-1.28.17-1.41-.07-.13-.27-.2-.57-.35zM12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2z%22/%3E%3C/svg%3E') no-repeat center/contain;mask:url('data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%3Cpath%20d=%22M17.47 14.38c-.3-.15-1.75-.86-2.02-.96-.27-.1-.47-.15-.67.15-.2.3-.77.96-.94 1.16-.17.2-.35.22-.64.07-.3-.15-1.25-.46-2.39-1.47-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.67-1.61-.92-2.21-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.01-1.04 2.47s1.06 2.87 1.21 3.07c.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.69.63.71.23 1.36.19 1.87.12.57-.09 1.75-.72 2-1.41.25-.69.25-1.28.17-1.41-.07-.13-.27-.2-.57-.35zM12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2z%22/%3E%3C/svg%3E') no-repeat center/contain}
.wa-btn .elementor-button-content-wrapper{align-items:center}

/* ==== Header (audit item 15): sticky, single row on mobile, 44px tap targets ==== */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.site-header .elementor-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:767px){
.site-header{flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;min-height:64px!important;padding:0 16px!important}
.site-header img{height:29px!important}
.site-header .elementor-nav-menu__toggle{margin-left:auto}
}
.telbtn{display:inline-flex;align-items:center;gap:7px;font-family:'Plus Jakarta Sans',sans-serif;font-size:13.5px;font-weight:600;color:#0d6b3a;text-decoration:none;white-space:nowrap;min-height:44px}
.telbtn:hover{color:#084d28}
@media(max-width:860px){.telbtn-wrap{display:none}}

/* ==== Green category band (audit item 11): 2x2 on mobile, not four tall panels ==== */
.band-cell{display:block;padding:30px 22px;transition:.2s}
.band-cell:hover{background:#084d28}


/* ==== Services jump links (audit item 15): 44px tap targets ==== */
.svc-jump a{display:inline-flex;align-items:center;min-height:44px;padding:6px 10px;border-radius:6px}
.svc-jump a:hover{background:#eaf4ee}

/* ==== FAQ (audit item 1): the open-state glyph, as a real minus sign ==== */
.faq details{border-bottom:1px solid #dce8e1;padding:18px 0}
.faq summary{cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600;color:#1a2420;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';color:#0d6b3a;font-family:'Plus Jakarta Sans',sans-serif;font-weight:400;font-size:24px;line-height:1}
.faq details[open] summary:after{content:'−'}
.faq p{margin-top:12px;color:#5a6663;max-width:78ch;font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;line-height:1.75}

/* ==== Video (audit item 7) ==== */
.vid-frame{position:relative;border-radius:14px;overflow:hidden;background:#000;aspect-ratio:3/2}
.vid-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ==== Grids ==== */
@media(max-width:900px){.steps-grid{grid-template-columns:1fr 1fr!important}.case-grid{grid-template-columns:1fr!important}.shots-grid,.elementor-element-t3s00003{grid-template-columns:1fr!important}}
@media(max-width:620px){.steps-grid{grid-template-columns:1fr!important}}

/* ==== Sticky mobile CTA ==== */
.mobile-cta{display:none}
@media(max-width:767px){body{padding-bottom:64px}
.mobile-cta{position:fixed;inset:auto 0 0 0;z-index:9999;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -3px 18px rgba(0,0,0,.16);padding-bottom:env(safe-area-inset-bottom)}
.mobile-cta a{min-height:48px;display:grid;place-items:center;font:700 14px 'Plus Jakarta Sans',sans-serif;color:#fff;text-decoration:none}
.mobile-cta .wa{background:#25D366}.mobile-cta .call{background:#0d6b3a}}
/* ==== LP START ==== */
.lp{--ink:#1a2420;--body:#5a6663;--green:#0d6b3a;--greenD:#084d28;--mint:#eaf4ee;--line:#dce8e1;--paper:#f4f7f4;--soft:#f7f9f7;font-family:'Plus Jakarta Sans',sans-serif;-webkit-text-size-adjust:100%}
.lp *,.lp *::before,.lp *::after{box-sizing:border-box}
.lp img{max-width:100%}
.lp-sec{padding:clamp(52px,7vw,100px) clamp(18px,5vw,80px)}
.lp-in{max-width:1180px;margin:0 auto}
.lp-in--narrow{max-width:820px}
.lp-paper{background:var(--paper)}
.lp-soft{background:var(--soft)}
.lp-dark{background:var(--greenD);color:#fff}
.lp-dark .lp-h2,.lp-dark .lp-h3{color:#fff}
.lp-dark .lp-p,.lp-dark .lp-lead{color:rgba(255,255,255,.82)}
.lp-dark .lp-eyebrow{color:#9ed4b4}
.lp-eyebrow{font:700 11px/1.4 'Plus Jakarta Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin:0 0 14px}
.lp-h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(36px,6.2vw,64px);line-height:1.06;font-weight:600;color:var(--ink);margin:0 0 18px;letter-spacing:-.01em}
.lp-h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(27px,4.3vw,44px);line-height:1.15;font-weight:600;color:var(--ink);margin:0 0 16px}
.lp-h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(20px,2.6vw,26px);line-height:1.25;font-weight:600;color:var(--ink);margin:0 0 10px}
.lp-kicker{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(19px,2.5vw,25px);line-height:1.45;color:var(--ink);margin:0 0 22px}
.lp-lead{font-size:clamp(16px,1.55vw,18.5px);line-height:1.72;color:var(--body);margin:0 0 16px;max-width:64ch}
.lp-p{font-size:16px;line-height:1.75;color:var(--body);margin:0 0 14px;max-width:70ch}
.lp-p:last-child,.lp-lead:last-child{margin-bottom:0}
.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px 26px;border-radius:8px;background:var(--green);color:#fff!important;font:700 14px/1.3 'Plus Jakarta Sans',sans-serif;letter-spacing:.02em;text-decoration:none;border:2px solid var(--green);transition:.18s;text-align:center}
.lp-btn:hover{background:var(--greenD);border-color:var(--greenD);color:#fff!important}
.lp-btn--ghost{background:transparent;color:var(--green)!important}
.lp-btn--ghost:hover{background:var(--mint);color:var(--greenD)!important}
.lp-dark .lp-btn{background:#fff;border-color:#fff;color:var(--greenD)!important}
.lp-dark .lp-btn:hover{background:var(--mint);border-color:var(--mint)}
.lp-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
@media(max-width:479px){.lp-cta-row{display:grid;grid-template-columns:1fr}.lp-btn{width:100%}}
.lp-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;font:700 13px/1.3 'Plus Jakarta Sans',sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--green);text-decoration:none;border-bottom:1px solid rgba(13,107,58,.35)}
.lp-link:hover{color:var(--greenD);border-bottom-color:var(--greenD)}
.lp-hero{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(26px,4vw,60px);align-items:center}
@media(max-width:900px){.lp-hero{grid-template-columns:1fr;gap:28px}}
.lp-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,60px);align-items:center}
@media(max-width:900px){.lp-split{grid-template-columns:1fr;gap:28px}}
.lp-fig{margin:0;border-radius:14px;overflow:hidden;background:var(--soft);border:1px solid var(--line)}
.lp-fig img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 38%}
.lp-fig--tall img{aspect-ratio:4/5}
@media(max-width:900px){.lp-fig img{aspect-ratio:16/10}.lp-fig--tall img{aspect-ratio:16/10}}
@media(max-width:520px){.lp-fig img{aspect-ratio:4/3}}
.lp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:clamp(14px,1.8vw,20px);margin-top:34px}
.lp-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:clamp(22px,2.8vw,28px)}
.lp-card .lp-h3{font-size:clamp(19px,2.2vw,23px)}
.lp-card .lp-p{font-size:15px;margin:0}
.lp-steps{margin-top:34px;border-bottom:1px solid var(--line)}
.lp-step{display:grid;grid-template-columns:96px 1fr;gap:clamp(14px,3vw,36px);padding:clamp(22px,3vw,32px) 0;border-top:1px solid var(--line)}
@media(max-width:640px){.lp-step{grid-template-columns:1fr;gap:8px}}
.lp-step-n{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(26px,3.6vw,40px);line-height:1;color:#a9cbb8;font-weight:600}
.lp-attrs{display:grid;grid-template-columns:repeat(auto-fit,minmax(236px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:34px}
.lp-attr{background:#fff;padding:clamp(20px,2.5vw,28px)}
.lp-attr h4{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;font-weight:600;color:var(--ink);margin:0 0 8px}
.lp-attr p{font-size:14.5px;line-height:1.7;color:var(--body);margin:0}
.lp-ab{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,20px);margin:26px 0}
@media(max-width:640px){.lp-ab{grid-template-columns:1fr}}
.lp-ab>div{background:#fff;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:10px;padding:22px}
.lp-checks{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:11px}
.lp-checks li{position:relative;padding-left:26px;font-size:15.5px;line-height:1.65;color:var(--body)}
.lp-checks li::before{content:'';position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:2px;background:var(--green)}
.lp-dark .lp-checks li{color:rgba(255,255,255,.85)}
.lp-dark .lp-checks li::before{background:#9ed4b4}
.lp-quote{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(24px,3.4vw,40px)}
.lp-quote blockquote{margin:0 0 18px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(18px,2.2vw,22px);font-style:italic;line-height:1.55;color:var(--ink)}
.lp-stars{color:#e0a02c;letter-spacing:2px;font-size:15px;margin-bottom:12px}
.lp-byline{font-size:13.5px;color:var(--body);margin:0}
.lp-eq{display:grid;gap:8px;margin:24px 0 0;padding:clamp(18px,2.4vw,24px);background:#fff;border:1px solid var(--line);border-radius:12px}
.lp-eq-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px}
.lp-eq .op{font:700 18px/1 'Plus Jakarta Sans',sans-serif;color:var(--green);text-align:center}
.lp-eq .term{background:var(--mint);border-radius:8px;padding:10px 14px;font-size:14.5px;line-height:1.45;color:var(--ink);font-weight:600}
.lp-faq{margin-top:30px}
.lp-faq details{border-bottom:1px solid var(--line)}
.lp-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 0;min-height:44px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(18px,2.1vw,21px);font-weight:600;color:var(--ink);line-height:1.35}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:'+';flex:0 0 auto;color:var(--green);font-family:'Plus Jakarta Sans',sans-serif;font-weight:400;font-size:24px;line-height:1.1}
.lp-faq details[open] summary::after{content:'2212'}
.lp-faq p{margin:0 0 20px;font-size:15.5px;line-height:1.75;color:var(--body);max-width:78ch}
.lp-crumb{font-size:13px;color:var(--body);margin:-10px 0 14px;display:flex;flex-wrap:wrap;align-items:center;gap:0 4px}
.lp-crumb a{display:inline-flex;align-items:center;min-height:40px;padding:0 3px}
.lp-crumb a{color:var(--green);text-decoration:none}
.lp-crumb a:hover{text-decoration:underline}
.lp-sib{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.lp-sib a{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:100px;background:#fff;font:600 13.5px/1 'Plus Jakarta Sans',sans-serif;color:var(--ink);text-decoration:none}
.lp-sib a:hover{border-color:var(--green);color:var(--green)}
.lp-wa{display:inline-flex;align-items:center;flex:0 0 auto}
.lp-wa::before{content:'';display:block;width:18px;height:18px;flex:0 0 auto;background-color:currentColor;-webkit-mask:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M17.47 14.38c-.3-.15-1.75-.86-2.02-.96-.27-.1-.47-.15-.67.15-.2.3-.77.96-.94 1.16-.17.2-.35.22-.64.07-.3-.15-1.25-.46-2.39-1.47-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.67-1.61-.92-2.21-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.01-1.04 2.47s1.06 2.87 1.21 3.07c.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.69.63.71.23 1.36.19 1.87.12.57-.09 1.75-.72 2-1.41.25-.69.25-1.28.17-1.41-.07-.13-.27-.2-.57-.35zM12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2z%22/%3E%3C/svg%3E') no-repeat center/contain;mask:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M17.47 14.38c-.3-.15-1.75-.86-2.02-.96-.27-.1-.47-.15-.67.15-.2.3-.77.96-.94 1.16-.17.2-.35.22-.64.07-.3-.15-1.25-.46-2.39-1.47-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.67-1.61-.92-2.21-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.01-1.04 2.47s1.06 2.87 1.21 3.07c.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.69.63.71.23 1.36.19 1.87.12.57-.09 1.75-.72 2-1.41.25-.69.25-1.28.17-1.41-.07-.13-.27-.2-.57-.35zM12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38c1.45.79 3.08 1.21 4.79 1.21 5.46 0 9.91-4.45 9.91-9.91S17.5 2 12.04 2z%22/%3E%3C/svg%3E') no-repeat center/contain}
.lp [id]{scroll-margin-top:88px}
/* ==== LP END ==== */
/* ==== SITEFIX START ==== */
/* --- Header: one row on mobile, sticky, 44px targets --- */
.elementor-location-header{position:sticky;top:0;z-index:120;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(26,36,32,.09)}
@media(max-width:1024px){
.elementor-location-header .e-con-inner{flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding-top:8px!important;padding-bottom:8px!important}
.elementor-location-header .e-con-inner>.e-con{width:auto!important;max-width:none!important;flex:0 0 auto!important;padding-top:0!important;padding-bottom:0!important}
.elementor-location-header .e-con-inner>.e-con:first-child{flex:0 1 auto!important;min-width:0}
.elementor-location-header .e-con-inner>.e-con:last-child{margin-left:auto!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:flex-end!important;align-items:center!important;gap:6px!important}
.elementor-location-header .elementor-widget-image{width:auto!important}
.elementor-location-header .elementor-widget-image img{height:30px!important;width:auto!important;max-width:none!important}
}
@media(max-width:400px){
.elementor-location-header .elementor-widget-image img{height:25px!important}
.elementor-location-header .elementor-button{padding-left:13px!important;padding-right:13px!important;font-size:12.5px!important}
}
.elementor-location-header .elementor-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.elementor-location-header .elementor-menu-toggle{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.elementor-location-header .elementor-nav-menu--dropdown a{min-height:44px;display:flex;align-items:center}
/* --- Footer: 44px tap targets on touch widths --- */
@media(max-width:1024px){
.elementor-location-footer a:not(.elementor-button):not(.footer-logo a){min-height:44px;display:inline-flex;align-items:center}
.elementor-location-footer li{margin-bottom:0!important}
}
/* --- Landing pages: single-column question lists on small screens --- */
@media(max-width:760px){
.lp-checks{columns:1!important;column-gap:0!important}
}
@media(max-width:520px){.lp-eq .term{font-size:13.8px;padding:9px 12px}}
/* --- Never let a stray wide child scroll the page sideways --- */
.lp{overflow-x:clip}
/* ==== SITEFIX END ==== */
/* ==== BAND START ==== */
/* Blurbs are sentences now - lift them off 12.5px at every width. */
.band-cell>div:nth-child(2){font-size:13.5px!important;line-height:1.5!important;max-width:26ch;margin-left:auto;margin-right:auto}
.band-cell{display:flex;flex-direction:column;justify-content:center}
/* Segment band: the blurbs are now full sentences, so give them room. */
@media(max-width:900px){
.band-row,.elementor-element-h2s00001{display:grid!important;grid-template-columns:1fr 1fr!important;gap:1px!important;background:rgba(255,255,255,.20)!important}
.band-row>.e-con,.band-row>.elementor-element,.elementor-element-h2s00001>.e-con,.elementor-element-h2s00001>.elementor-element{width:auto!important;max-width:none!important;flex:none!important;border-right:0!important;padding:0!important;background:#0d6b3a}
.band-row>.e-con,.elementor-element-h2s00001>.e-con{display:flex!important;align-items:stretch!important}
.band-row .elementor-widget-html,.elementor-element-h2s00001 .elementor-widget-html{width:100%;display:flex}
.band-row .elementor-widget-container,.elementor-element-h2s00001 .elementor-widget-container{width:100%;display:flex}
.band-cell{padding:22px 18px;width:100%}
.band-cell>div:first-child{font-size:22px!important}
.band-cell>div:nth-child(2){font-size:13.5px!important;line-height:1.5!important;margin-top:7px!important}
.band-cell>div:nth-child(3){font-size:10.5px!important;margin-top:14px!important}
}
@media(max-width:600px){
.band-row,.elementor-element-h2s00001{grid-template-columns:1fr!important}
.band-cell{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;padding:18px 20px;text-align:left!important}
.band-cell>div:first-child{grid-column:1;grid-row:1;font-size:21px!important}
.band-cell>div:nth-child(2){grid-column:1;grid-row:2;margin-top:4px!important}
.band-cell>div:nth-child(3){grid-column:2;grid-row:1/3;margin-top:0!important;white-space:nowrap}
}
/* ==== BAND END ==== */
/* ==== TAP START ==== */
@media(max-width:1024px){
.elementor-button{min-height:44px}
.elementor-icon-box-wrapper a.elementor-icon{min-width:44px;min-height:44px;display:inline-flex!important;align-items:center;justify-content:center}
.elementor-icon-box-title a{display:inline-block;padding:6px 0}
.footer-logo a,.site-header a,.elementor-location-header .elementor-widget-image a{display:inline-flex;align-items:center;min-height:44px}
}
/* ==== TAP END ==== */
/* ==== TYPO2 START ==== */
/* Review screenshots: readable affordance + full-bleed on small screens */
.shot-srx figure,.shot-fb figure{margin:0}
.shot-srx a,.shot-fb a{display:block;position:relative}
.shot-srx figcaption,.shot-fb figcaption{margin-top:10px;text-align:center;font:700 11.5px/1.4 'Plus Jakarta Sans',sans-serif;letter-spacing:.11em;text-transform:uppercase;color:#0d6b3a}
.shot-srx img,.shot-fb img{cursor:zoom-in;border:1px solid #dce8e1;border-radius:10px;background:#fff}
@media(max-width:767px){
.shot-srx img{max-width:none!important;width:100%!important}
}
/* Small link/CTA tap targets inside HTML widgets */
@media(max-width:1024px){
.elementor-widget-html a[style*="inline-block"]{min-height:44px;display:inline-flex!important;align-items:center;font-size:13px!important}
.svc-jump a,.lp-link{font-size:13px!important}
}
/* Attribution lines were 12.5px - lift to 13px on touch widths (band cells excluded) */
@media(max-width:1024px){.elementor-widget-html :not(.band-cell)>[style*="font-size:12.5px"]{font-size:13px!important}}
/* ==== TYPO2 END ==== */
/* ==== NAVDD START ==== */
@media(max-width:1024px){
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-widget-nav-menu{position:static!important}
.elementor-location-header .elementor-nav-menu--dropdown{
 position:absolute!important;top:100%!important;left:0!important;right:0!important;
 width:100%!important;max-width:none!important;margin:0!important;
 background:#fff!important;border-top:1px solid #dce8e1;
 box-shadow:0 14px 30px rgba(26,36,32,.16);
 max-height:calc(100vh - 64px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.elementor-location-header .elementor-nav-menu--dropdown ul{width:100%}
.elementor-location-header .elementor-nav-menu--dropdown a{
 min-height:52px;display:flex!important;align-items:center;
 padding:12px 22px!important;font-size:16px!important;
 border-bottom:1px solid #eef3ef}
.elementor-location-header .elementor-nav-menu--dropdown .sub-menu{position:static!important;width:100%!important;min-width:0!important;max-width:none!important;box-shadow:none!important;border:0!important;margin:0!important;transform:none!important;left:auto!important;top:auto!important}
.elementor-location-header .elementor-nav-menu--dropdown .sub-menu a{padding-left:40px!important;font-size:15px!important;background:#f7f9f7}
.elementor-location-header .elementor-nav-menu--dropdown .sub-arrow{margin-left:auto;padding:0 6px}
.elementor-location-header .elementor-menu-toggle{z-index:2}
}
/* ==== NAVDD END ==== */
/* ==== ALIGN START ==== */
/* Centred hero / CTA lede paragraphs.
   Elementor 4 stopped emitting the container's align-items, so these ran
   full-bleed and left-aligned. Centre them and cap the measure. */
.sec-lede,.sec-lede p{text-align:center}
.sec-lede{max-width:62ch;margin-left:auto!important;margin-right:auto!important}
.sec-lede p:last-child{margin-bottom:0}
/* Buttons sit under the lede - keep their row centred too */
.sec-lede + .e-con>.e-con-inner,.sec-lede ~ .e-con>.e-con-inner{justify-content:center}

/* Outline buttons: Elementor 4 dropped border_type/border_width from the
   generated CSS, so every ghost button rendered as bare text. */
.btn-o .elementor-button{background-color:transparent;border-style:solid;border-width:2px;border-color:currentColor}
@supports (border-color:color-mix(in srgb,red 50%,transparent)){
.btn-o .elementor-button{border-color:color-mix(in srgb,currentColor 62%,transparent)}
}
.btn-o .elementor-button:hover{background-color:#eaf4ee;border-color:#0d6b3a}
.btn-o-dark .elementor-button:hover{background-color:rgba(255,255,255,.14);border-color:#fff;color:#fff}
.btn-o .elementor-button:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Narrow step cards read better fully left-aligned than centre-over-left */
.elementor-element-s3s00004 .elementor-heading-title,
.elementor-element-s3s00005 .elementor-heading-title,
.elementor-element-s3s00006 .elementor-heading-title,
.elementor-element-s3s00007 .elementor-heading-title,
.elementor-element-s3s00008 .elementor-heading-title{text-align:left}
/* ==== ALIGN END ==== */
/* ==== BRFIX START ==== */
/* Desktop-tuned hard breaks orphan a word on narrow screens */
@media(max-width:640px){.elementor-element-a1w00002 .elementor-heading-title br{display:none}}
/* ==== BRFIX END ==== *//* End custom CSS */