/* ==========================================================================
   Sacred Leaf — theme styles
   Colours and fonts come from theme.json (Appearance → Editor → Styles).
   Interactive enhancements only apply when JavaScript adds .sl-js to <html>,
   so every section stays fully visible and editable in the block editor.
   ========================================================================== */
:root{
  --sl-forest:var(--wp--preset--color--forest,#07190E);
  --sl-forest-2:#0C2616;
  --sl-leaf:var(--wp--preset--color--leaf,#43C278);
  --sl-leaf-deep:var(--wp--preset--color--leaf-deep,#177A42);
  --sl-ink:var(--wp--preset--color--ink,#0C1A11);
  --sl-muted:var(--wp--preset--color--muted,#4C5850);
  --sl-soft:var(--wp--preset--color--soft,#F4F5F1);
  --sl-body:#3D4A42;
  --sl-display:var(--wp--preset--font-family--archivo,'Archivo',sans-serif);
  --sl-mono:var(--wp--preset--font-family--plex-mono,'IBM Plex Mono',monospace);
  --sl-ease:cubic-bezier(.2,.7,.2,1);
  --sl-arrow-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306140B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --sl-arrow-leaf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2343C278' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --sl-arrow-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --sl-phone-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
::selection{background:var(--sl-leaf);color:#06140B}
h1,h2,h3,h4,.sl-wordmark{font-stretch:112%}
.wp-site-blocks>*{margin-block-start:0}
.wp-block-post-content>.alignfull{margin-block:0}
section[id]{scroll-margin-top:84px}
.sl-section figure,.sl-hero figure,.sl-page-hero figure,.sl-cta figure,.sl-footer figure{margin:0}

/* layout containers: reset flow spacing so grids align */
:is(.sl-split,.sl-head,.sl-svc-grid,.sl-svc-top,.sl-ptiles,.sl-rcards,.sl-stats,.sl-icards,.sl-zig,.sl-zigs,.sl-bigstats,.sl-line,.sl-contact-grid,.sl-who-media,.sl-who-side,.sl-hero-foot,.sl-hero-inner,.sl-ab-media,.sl-objective,.sl-badge,.sl-stat,.sl-rcard,.sl-steps,.sl-regions,.sl-cap-meta,.sl-kv,.sl-footer-grid,.sl-footer-cols,.sl-footer-bottom,.sl-brand,.sl-header-bar,.sl-seg-media,.sl-hero-media)>*{margin-block:0}

/* ---------- sections ---------- */
.sl-section{padding-block:clamp(88px,10vw,150px)}
.sl-section-tight{padding-block:clamp(64px,7vw,96px);border-bottom:1px solid rgba(12,26,17,.08)}
.sl-section>*+*{margin-block-start:clamp(48px,6vw,72px)}
.sl-dark{background:var(--sl-forest);color:#fff}
.sl-dark :is(h1,h2,h3){color:#fff}
.sl-dark .sl-body{color:rgba(255,255,255,.72)}

/* ---------- type ---------- */
.sl-eyebrow{font-family:var(--sl-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--sl-leaf-deep);display:flex;align-items:center;gap:12px;margin:0}
.sl-eyebrow::before{content:'';width:15px;height:15px;flex-shrink:0;background:currentColor;-webkit-mask:url(../images/leaf-all.svg) center/contain no-repeat;mask:url(../images/leaf-all.svg) center/contain no-repeat}
.sl-dark .sl-eyebrow,.sl-hero .sl-eyebrow,.sl-page-hero .sl-eyebrow{color:var(--sl-leaf)}
.sl-h2{font-size:clamp(38px,5vw,76px);line-height:1;margin:0;text-wrap:balance}
.sl-h3{font-size:clamp(30px,3.4vw,48px);line-height:1.05;margin:0}
.sl-lead{font-size:19px;line-height:1.6;max-width:620px;color:rgba(255,255,255,.8);margin:0}
.sl-body{font-size:17px;line-height:1.75;color:var(--sl-body);margin:0}
.sl-num{font-family:var(--sl-mono);font-size:11px;letter-spacing:.16em;color:var(--sl-leaf);margin:0}
.sl-tlink{margin:0}
.sl-tlink a{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;transition:gap .35s var(--sl-ease)}
.sl-tlink a::after{content:'';width:16px;height:16px;background:currentColor;-webkit-mask:var(--sl-arrow-white) center/contain no-repeat;mask:var(--sl-arrow-white) center/contain no-repeat}
.sl-tlink a:hover{gap:16px}
.sl-dark .sl-tlink a{color:var(--sl-leaf)}
mark.has-inline-color{background:transparent}
.sl-section:not(.sl-dark) mark.has-leaf-color{color:var(--sl-leaf-deep)!important}

.sl-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:end}
.sl-head>*>*+*{margin-block-start:20px}
.sl-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,96px);align-items:center}
.sl-split>*>*+*{margin-block-start:28px}
.sl-split-top{align-items:start}
.sl-split-top .sl-who-text{padding-top:44px}

/* ---------- buttons ---------- */
.wp-block-buttons{gap:14px}
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:9px 9px 9px 26px;border-radius:999px;font-weight:600;font-size:15px;line-height:1.2;text-decoration:none;border:1px solid transparent;transition:background .35s,color .35s,border-color .35s,transform .35s}
.wp-block-button .wp-block-button__link::after{content:'';width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#06140B var(--sl-arrow-leaf) center/16px no-repeat;transition:transform .45s var(--sl-ease)}
.wp-block-button .wp-block-button__link:hover::after{transform:rotate(-45deg)}
.wp-block-button .wp-block-button__link:active{transform:scale(.98)}
.is-style-sl-primary .wp-block-button__link{background:var(--sl-leaf);color:#06140B}
.is-style-sl-primary .wp-block-button__link:hover{background:#6BDB98;color:#06140B}
.is-style-sl-ghost .wp-block-button__link{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.is-style-sl-ghost .wp-block-button__link::after{background:rgba(255,255,255,.14) var(--sl-arrow-white) center/16px no-repeat}
.is-style-sl-ghost .wp-block-button__link:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.7);color:#fff}
.is-style-sl-dark .wp-block-button__link{background:var(--sl-forest);color:#fff}
.is-style-sl-dark .wp-block-button__link::after{background:var(--sl-leaf) var(--sl-arrow-dark) center/16px no-repeat}
.is-style-sl-dark .wp-block-button__link:hover{background:#123A22;color:#fff}
.sl-btn-phone .wp-block-button__link::after{background-image:var(--sl-phone-white)}
.sl-btn-phone .wp-block-button__link:hover::after{transform:none}

/* ---------- header ---------- */
header.wp-block-template-part{position:sticky;top:0;z-index:100}
.admin-bar header.wp-block-template-part{top:32px}
@media (max-width:782px){.admin-bar header.wp-block-template-part{top:46px}}
.sl-header{background:rgba(5,18,10,.42);color:#fff;isolation:isolate;transition:background .5s,box-shadow .5s}
/* blur lives on a pseudo-element: backdrop-filter on the header itself would trap the
   full-screen mobile menu (position:fixed) inside the 76px header bar */
.sl-header::before{content:'';position:absolute;inset:0;z-index:-1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none}
.sl-generic{padding-block:clamp(56px,8vw,96px)}
.sl-generic .wp-block-post-title{margin-top:0}
body:not(:has(.sl-hero,.sl-page-hero)) .sl-header{background:var(--sl-forest)}
.sl-header.is-scrolled{background:rgba(7,25,14,.94);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.sl-header-bar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.sl-brand{display:flex;align-items:center;gap:12px}
.sl-brand .wp-block-site-logo img{height:34px;width:auto}
.sl-wordmark{margin:0;font-family:var(--wp--preset--font-family--archivo-black,'Archivo Black',sans-serif);font-size:17px;letter-spacing:.03em;text-transform:uppercase;line-height:1}
.sl-wordmark a{color:#fff;text-decoration:none}
.sl-header{position:relative}
.sl-header>.sl-progress{position:absolute;left:0;bottom:0;height:2px;width:0;margin:0!important;max-width:none!important;background:var(--sl-leaf);transition:width .15s linear}
.sl-nav{color:#fff;font-size:14px;font-weight:500}
.sl-nav .wp-block-navigation__container{gap:40px}
.sl-nav .wp-block-navigation-item__content{color:rgba(255,255,255,.8);text-decoration:none;position:relative;transition:color .3s}
.sl-nav .wp-block-navigation-item__content:hover,.sl-nav .current-menu-item>.wp-block-navigation-item__content{color:#fff}
.sl-nav .wp-block-navigation-item__content::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--sl-leaf);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--sl-ease)}
.sl-nav .wp-block-navigation-item__content:hover::after,.sl-nav .current-menu-item>.wp-block-navigation-item__content::after{transform:scaleX(1);transform-origin:left}
/* mobile menu overlay */
.sl-header .sl-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--sl-forest)!important;color:#fff!important;padding:0 20px 40px!important;overflow:hidden auto}
.sl-header .sl-nav .wp-block-navigation__responsive-container.is-menu-open::after{content:'';position:fixed;right:-70px;bottom:-60px;width:320px;height:340px;background:var(--sl-leaf);opacity:.06;-webkit-mask:url(../images/leaf-all.svg) center/contain no-repeat;mask:url(../images/leaf-all.svg) center/contain no-repeat;pointer-events:none}
.sl-nav .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:104px!important;align-items:stretch!important}
.sl-nav .is-menu-open .wp-block-navigation__container{flex-direction:column;align-items:stretch!important;gap:0!important;width:100%}
.sl-nav .is-menu-open .wp-block-navigation-item{width:100%;border-bottom:1px solid rgba(255,255,255,.1);animation:sl-fade .6s cubic-bezier(.2,.7,.2,1) both}
.sl-nav .is-menu-open .wp-block-navigation-item:nth-child(2){animation-delay:.06s}.sl-nav .is-menu-open .wp-block-navigation-item:nth-child(3){animation-delay:.12s}.sl-nav .is-menu-open .wp-block-navigation-item:nth-child(4){animation-delay:.18s}.sl-nav .is-menu-open .wp-block-navigation-item:nth-child(5){animation-delay:.24s}.sl-nav .is-menu-open .wp-block-navigation-item:nth-child(n+6){animation-delay:.3s}
.sl-header .sl-nav .is-menu-open .wp-block-navigation-item__content{display:block;width:100%;padding:18px 0!important;font-family:var(--sl-display);font-stretch:112%;font-weight:800;font-size:34px;line-height:1.05;letter-spacing:-.01em;color:#fff}
.sl-header .sl-nav .is-menu-open .current-menu-item>.wp-block-navigation-item__content,.sl-header .sl-nav .is-menu-open .wp-block-navigation-item__content:hover{color:var(--sl-leaf)}
.sl-nav .is-menu-open .wp-block-navigation-item__content::after{display:none}
.sl-header .sl-nav .wp-block-navigation__responsive-container-close{top:15px!important;right:0!important;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;transition:transform .4s cubic-bezier(.3,1.5,.5,1),border-color .3s}
.sl-header .sl-nav .wp-block-navigation__responsive-container-close:hover{transform:rotate(90deg);border-color:var(--sl-leaf)}
html.has-modal-open .sl-totop,html.has-modal-open .sl-cursor,html.has-modal-open .sl-cursor-dot{opacity:0!important;pointer-events:none!important}
.sl-nav .wp-block-navigation__responsive-container-open{color:#fff;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);align-items:center;justify-content:center}
@media (max-width:599px){.sl-nav .wp-block-navigation__responsive-container-open{display:flex}.sl-header .sl-nav{justify-content:flex-end}}
.sl-nav{flex:1 1 auto}
.sl-header-cta .wp-block-button__link{min-height:46px;font-size:14px;padding:5px 5px 5px 20px}
.sl-header-cta .wp-block-button__link::after{width:34px;height:34px}

/* ---------- photos / images ---------- */
.sl-bg{position:absolute!important;inset:0;margin:0!important;max-width:none!important;width:100%!important;height:100%;z-index:0}
.sl-bg img{width:100%;height:100%;object-fit:cover}
.sl-zoom{overflow:hidden;border-radius:24px}
.sl-zoom img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--sl-ease)}
.sl-zoom:hover img{transform:scale(1.06)}
.sl-kb img{animation:sl-kb 14s cubic-bezier(.2,.6,.2,1) both}

/* ---------- hero (home) ---------- */
.sl-hero{position:relative;overflow:hidden;min-height:940px;margin-top:-76px!important;padding-top:76px;display:flex;flex-direction:column;justify-content:flex-end}
.sl-hero>.sl-hero-media{position:absolute;inset:0;max-width:none!important;margin:0!important;z-index:0}
.sl-hero-media::before,.sl-hero-media::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none}
.sl-hero-media::before{background:linear-gradient(90deg,rgba(5,18,10,.9) 0%,rgba(5,18,10,.6) 42%,rgba(5,18,10,.1) 78%)}
.sl-hero-media::after{background:linear-gradient(180deg,rgba(5,18,10,.55) 0%,rgba(5,18,10,0) 25%,rgba(5,18,10,0) 60%,rgba(5,18,10,.85) 100%)}
.sl-hs-img{position:absolute!important;inset:0;margin:0!important;opacity:0;transition:opacity 1.6s ease}
.sl-hs-img img{width:100%;height:100%;object-fit:cover}
.sl-hs-img:first-child{opacity:1}
.sl-js .sl-hs-img:first-child{opacity:0}
.sl-js .sl-hs-img.is-on{opacity:1}
.sl-hs-img.is-on img{animation:sl-kb 9s cubic-bezier(.2,.6,.2,1) both}
.sl-hero-inner{width:100%;position:relative;z-index:3;padding-block:140px 48px;display:flex;flex-direction:column;gap:96px}
.sl-hero-copy{max-width:880px}
.sl-hero-copy>*+*{margin-block-start:32px}
.sl-hero-title{font-size:clamp(46px,7.2vw,108px);line-height:.96;margin:0;color:#fff;animation:sl-fade 1.1s var(--sl-ease) both .15s}
.sl-hero-copy .sl-lead{animation:sl-fade 1.2s ease both .6s}
.sl-hero-copy .wp-block-buttons{animation:sl-fade 1.2s ease both .8s}
.sl-hero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;animation:sl-fade 1.2s ease both 1s}
.sl-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;flex-shrink:0}
.sl-stat-num{font-family:var(--sl-display);font-stretch:112%;font-weight:800;font-size:44px;line-height:1;letter-spacing:-.02em}
.sl-stat-label{font-size:14px;color:rgba(255,255,255,.7);margin-top:8px!important}
.sl-li-btn{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;flex:1 1 auto;min-width:0}
.sl-li-btn:focus-visible{outline:2px solid var(--sl-leaf);outline-offset:4px;border-radius:4px}
.sl-hs-labels{display:flex;gap:20px;list-style:none;margin:0;padding:0;width:520px;max-width:45%;counter-reset:hs}
.sl-hs-labels li{flex:1;min-width:0;position:relative;padding-top:14px;border-top:2px solid rgba(255,255,255,.22);font-size:14px;font-weight:500;color:rgba(255,255,255,.55);counter-increment:hs;transition:color .3s;cursor:pointer}
.sl-hs-labels li::before{content:'0' counter(hs);font-family:var(--sl-mono);font-size:11px;margin-right:10px}
.sl-hs-labels li::after{content:'';position:absolute;left:0;top:-2px;height:2px;width:100%;background:var(--sl-leaf);transform:scaleX(0);transform-origin:left}
.sl-hs-labels li:hover,.sl-hs-labels li.is-on{color:#fff}
.sl-hs-labels li.is-on::after{animation:sl-fill 7s linear both}

/* leaf outline drawing (hero + page heroes) */
.sl-leaf-outline{position:absolute;right:-4%;top:120px;height:66%;width:auto;aspect-ratio:157.3/165.4;margin:0!important;max-width:none!important;pointer-events:none;z-index:2;animation:sl-float 12s ease-in-out infinite alternate}
.sl-leaf-outline path{stroke-dasharray:420;stroke-dashoffset:420;animation:sl-draw 3.2s cubic-bezier(.6,0,.2,1) forwards,sl-lfill 2s ease 3s forwards}

/* ---------- page hero (inner pages) ---------- */
.sl-page-hero{position:relative;overflow:hidden;min-height:640px;margin-top:-76px!important;padding-top:76px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--sl-forest);color:#fff}
.sl-page-hero::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,18,10,.6) 0%,rgba(5,18,10,.25) 40%,rgba(5,18,10,.9) 100%)}
.sl-page-hero .sl-leaf-outline{right:5%;top:110px;height:calc(100% - 170px)}
.sl-page-hero-inner{width:100%;position:relative;z-index:3;padding-block:140px 80px}
.sl-page-hero-inner>*+*{margin-block-start:24px}
.sl-crumb{font-family:var(--sl-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sl-leaf);margin:0}
.sl-crumb a{color:rgba(255,255,255,.7);text-decoration:none}
.sl-crumb a:hover{color:#fff}
.sl-page-title{font-size:clamp(48px,7.6vw,120px);line-height:.95;margin:0;color:#fff;max-width:1100px;animation:sl-fade 1.1s var(--sl-ease) both .1s}

/* ---------- about teaser ---------- */
.sl-ab-media{position:relative;padding:0 60px 80px 0}
.sl-ab-main{aspect-ratio:4/4.4}
.sl-ab-small{position:absolute!important;right:0;bottom:0;width:52%;aspect-ratio:4/3;border:8px solid #fff;box-shadow:0 40px 80px -40px rgba(7,25,14,.5)}
.sl-badge{position:absolute;left:-36px;top:48px;width:150px;height:150px;border-radius:50%;background:var(--sl-forest);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 30px 60px -30px rgba(7,25,14,.6)}
.sl-badge::before{content:'';position:absolute;inset:9px;border-radius:50%;border:1.2px dashed var(--sl-leaf);animation:sl-spin 22s linear infinite}
.sl-badge-num{font-family:var(--sl-display);font-stretch:112%;font-weight:800;font-size:38px;line-height:1;margin:0}
.sl-badge-label{font-family:var(--sl-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--sl-leaf);margin:0}
.sl-objective{display:flex;gap:20px;align-items:flex-start;padding:28px;border-radius:20px;background:var(--sl-soft)}
.sl-objective p{margin:0;font-size:17px;line-height:1.6;font-weight:500}
.sl-objective-mark{flex-shrink:0;width:36px}
.sl-objective-mark img{width:36px;height:auto}

/* ---------- service cards (hover reveals photo) ---------- */
.sl-svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:24px;overflow:hidden}
.sl-svc{position:relative;overflow:hidden;min-height:360px;background:var(--sl-forest);padding:40px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.sl-svc-img{position:absolute!important;inset:0;margin:0!important;z-index:0;opacity:0;transform:scale(1.14);transition:opacity .8s ease,transform 1.4s var(--sl-ease)}
.sl-svc-img img{width:100%;height:100%;object-fit:cover}
.sl-svc::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,25,14,.45) 0%,rgba(7,25,14,.94) 75%);opacity:0;transition:opacity .8s ease}
.sl-svc:hover .sl-svc-img,.sl-svc:focus-within .sl-svc-img,
.sl-svc.is-focus .sl-svc-img{opacity:1;transform:none}
.sl-svc:hover::after,.sl-svc:focus-within::after,
.sl-svc.is-focus::after{opacity:1}
.sl-svc-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start}
.sl-svc-body{margin-top:64px!important}
.sl-svc-body>*{position:relative;z-index:2}
.sl-svc-body>*+*{margin-block-start:14px}
.sl-svc-title{font-size:25px;line-height:1.15;margin:0}
.sl-svc-title a{color:#fff;text-decoration:none}
.sl-svc-title a::before{content:'';position:absolute;inset:0;z-index:4}
.sl-svc-body{position:static}
.sl-svc-body .sl-svc-title{position:static}
.sl-svc-desc{font-size:15px;line-height:1.7;color:rgba(255,255,255,.66);margin:0;transition:color .5s}
.sl-svc:hover .sl-svc-desc,
.sl-svc.is-focus .sl-svc-desc{color:rgba(255,255,255,.9)}
.sl-ic{width:60px;height:60px;border-radius:18px;background:rgba(67,194,120,.12);color:var(--sl-leaf);display:grid;place-items:center;transition:background .45s,color .45s}
.sl-svc:hover .sl-ic,
.sl-svc.is-focus .sl-ic{background:var(--sl-leaf);color:#06140B}
.sl-go{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;transition:all .45s var(--sl-ease)}
.sl-svc:hover .sl-go,
.sl-svc.is-focus .sl-go{background:#fff;color:var(--sl-forest);border-color:#fff;transform:rotate(45deg)}

/* ---------- who we serve switcher ---------- */
.sl-split-serve{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(48px,6vw,88px)}
.sl-seg-list{list-style:none;margin:0;padding:0;border-bottom:1px solid rgba(12,26,17,.12);counter-reset:seg}
.sl-seg-list li{counter-increment:seg;display:flex;align-items:center;gap:24px;padding:22px 0;border-top:1px solid rgba(12,26,17,.12);font-family:var(--sl-display);font-stretch:112%;font-weight:700;font-size:clamp(20px,2.1vw,28px);letter-spacing:-.02em;color:#6A756E;cursor:pointer;transition:color .35s}
.sl-seg-list li::before{content:'0' counter(seg);font-family:var(--sl-mono);font-size:12px;font-weight:500;letter-spacing:.1em;color:var(--sl-leaf-deep);width:28px;flex-shrink:0}
.sl-seg-list li::after{content:'';margin-left:auto;width:16px;height:16px;background:var(--sl-leaf-deep);-webkit-mask:var(--sl-arrow-white) center/contain no-repeat;mask:var(--sl-arrow-white) center/contain no-repeat;opacity:0;transform:translateX(-10px);transition:all .45s var(--sl-ease)}
.sl-seg-list li:hover,.sl-seg-list li.is-on{color:var(--sl-ink)}
.sl-seg-list li.is-on::after{opacity:1;transform:none}
.sl-seg-media{position:relative;aspect-ratio:5/6;border-radius:28px;overflow:hidden;background:var(--sl-forest-2)}
.sl-seg-img{position:absolute!important;inset:0;margin:0!important;opacity:0;transform:scale(1.08);transition:opacity .9s ease,transform 1.6s var(--sl-ease)}
.sl-seg-img img{width:100%;height:100%;object-fit:cover}
.sl-seg-img:first-child{opacity:1;transform:none}
.sl-js .sl-seg-img:first-child{opacity:0;transform:scale(1.08)}
.sl-js .sl-seg-img.is-on{opacity:1;transform:none}
.sl-seg-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;padding:32px;background:linear-gradient(180deg,rgba(5,18,10,0) 0%,rgba(5,18,10,.85) 100%);color:#fff;font-size:13px}
.sl-seg-caption strong{display:block;font-family:var(--sl-display);font-stretch:112%;font-size:26px;font-weight:700;margin-top:6px}
.sl-seg-caption .sl-num{display:block}

/* ---------- process tiles ---------- */
.sl-process,.sl-cta{position:relative;overflow:hidden}
.sl-process::before{content:'';position:absolute;inset:0;z-index:1;background:rgba(5,18,10,.84)}
.sl-process>:not(.sl-bg),.sl-cta>:not(.sl-bg):not(.sl-leafwin-wrap){position:relative;z-index:2}
.sl-process>.sl-bg+*,.sl-cta>.sl-bg+*{margin-block-start:0}
.sl-ptiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:16px}
.sl-ptile{padding:36px 32px;border-top:1px solid rgba(255,255,255,.18);transition:background .5s,border-color .5s}
.sl-ptile>*+*{margin-block-start:14px}
.sl-ptile:hover,
.sl-ptile.is-focus{background:rgba(7,25,14,.55);border-color:var(--sl-leaf)}
.sl-pn{font-family:var(--sl-display);font-stretch:112%;font-weight:900;font-size:56px;line-height:1;color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.55);margin:0;transition:color .4s,-webkit-text-stroke-color .4s}
.sl-ptile:hover .sl-pn,
.sl-ptile.is-focus .sl-pn{color:var(--sl-leaf);-webkit-text-stroke-color:var(--sl-leaf)}
.sl-ptile-title{font-size:22px;margin:0}
.sl-ptile-desc{font-size:15px;line-height:1.65;color:rgba(255,255,255,.72);margin:0}

/* ---------- map + pins ---------- */
.sl-map{position:relative}
.sl-map-img{margin:0}
.sl-map-img img{width:100%;height:auto;display:block}
.sl-map-card{background:#fff;border-radius:28px;padding:32px}
.sl-pins{position:absolute;inset:0;pointer-events:none}
.sl-map-card .sl-pins{inset:32px}
.sl-pin{position:absolute;width:38px;height:50px;transform:translate(-50%,-100%);pointer-events:auto;z-index:2;animation:sl-pin-drop .9s cubic-bezier(.3,1.5,.5,1) both;transition:opacity .4s;cursor:pointer}
.sl-pin svg{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 10px rgba(7,25,14,.22));transition:transform .45s cubic-bezier(.3,1.5,.5,1)}
.sl-pin::after{content:'';position:absolute;left:50%;bottom:-5px;width:26px;height:8px;margin-left:-13px;border-radius:50%;background:radial-gradient(closest-side,rgba(7,25,14,.35),transparent);z-index:-1}
.sl-pin:hover svg,.sl-pin.is-on svg{transform:translateY(-8px) scale(1.12)}
.sl-pin-label{position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%);white-space:nowrap;font-family:var(--sl-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:#26332B;background:#fff;padding:5px 10px;border-radius:999px;box-shadow:0 4px 14px rgba(7,25,14,.14);transition:background .3s,color .3s}
.sl-pin.is-on .sl-pin-label{color:#fff;background:var(--sl-forest)}
.sl-pin.is-dim svg{opacity:.55}
.sl-pin.is-dim:hover svg{opacity:1}

.sl-rcards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;counter-reset:rc}
.sl-rcard{position:relative;display:flex;flex-direction:column;gap:40px;padding:28px;border-radius:20px;border:1px solid rgba(12,26,17,.12);background:#fff;transition:transform .5s var(--sl-ease),box-shadow .5s,border-color .4s,background .4s,color .4s}
.sl-rcard:hover,
.sl-rcard.is-focus{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(7,25,14,.35);border-color:var(--sl-forest);background:var(--sl-forest);color:#fff}
.sl-rc-num{display:flex;align-items:center;gap:10px;font-family:var(--sl-mono);font-size:11px;letter-spacing:.16em;color:var(--sl-leaf-deep);margin:0}
.sl-rc-num::before{content:'';width:12px;height:12px;border-radius:50%;background:var(--sl-dot,#177A42)}
.sl-rcard:nth-child(1){--sl-dot:#0E5C31}.sl-rcard:nth-child(2){--sl-dot:#177A42}.sl-rcard:nth-child(3){--sl-dot:#1F8A4C}.sl-rcard:nth-child(4){--sl-dot:#2FA866}.sl-rcard:nth-child(5){--sl-dot:#43C278}
.sl-rcard:hover .sl-rc-num,
.sl-rcard.is-focus .sl-rc-num{color:var(--sl-leaf)}
.sl-rc-count{font-family:var(--sl-display);font-stretch:112%;font-weight:800;font-size:44px;line-height:1;margin:0!important}
.sl-rc-name{font-size:15px;font-weight:600;margin:6px 0 0!important}
.sl-rc-name a{color:inherit;text-decoration:none}
.sl-rc-name a::before{content:'';position:absolute;inset:0}

/* ---------- CTA band ---------- */
.sl-cta{padding-block:180px}
.sl-cta::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,18,10,.94) 0%,rgba(5,18,10,.82) 55%,rgba(5,18,10,.6) 100%)}
.sl-leafwin-wrap{position:absolute!important;right:6%;top:50%;height:78%;aspect-ratio:153.3/161.4;transform:translateY(-50%);margin:0!important;max-width:none!important;z-index:1}
.sl-leafwin{position:absolute!important;inset:0;margin:0!important;overflow:hidden;-webkit-mask:url(../images/leaf-all.svg) center/100% 100% no-repeat;mask:url(../images/leaf-all.svg) center/100% 100% no-repeat}
.sl-leafwin img{width:100%;height:100%;object-fit:cover;animation:sl-kb 16s ease-in-out infinite alternate}
.sl-leafwin-line{position:absolute;inset:0;width:100%;height:100%;transform:translate(18px,18px);overflow:visible}
.sl-cta-inner>*+*{margin-block-start:36px}
.sl-cta-title{font-size:clamp(48px,8vw,128px);line-height:.92;font-weight:900;margin:0;color:#fff}
.sl-cta .sl-lead{max-width:600px}

/* ---------- about page ---------- */
.sl-who-text>*+*{margin-block-start:22px}
.sl-who-media{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px}
.sl-who-img{aspect-ratio:16/10}
.sl-who-side{display:flex;flex-direction:column;gap:24px}
.sl-who-img2{flex-grow:1;min-height:220px}
.sl-stats-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:28px;border-radius:24px;background:var(--sl-forest);color:#fff}
.sl-stats-card .sl-stat-num{font-size:34px}
.sl-stats-card .sl-stat-label{font-size:12px}
.sl-objective-band{position:relative;overflow:hidden;padding-block:clamp(100px,12vw,160px)}
.sl-objective-copy{position:relative;z-index:1}
.sl-objective-copy>*+*{margin-block-start:32px}
.sl-objective-watermark{position:absolute!important;right:-60px;top:-40px;width:460px;margin:0!important;opacity:.12;max-width:none!important}
.sl-statement{font-family:var(--sl-display);font-stretch:112%;font-weight:700;font-size:clamp(30px,4vw,60px);line-height:1.12;letter-spacing:-.02em;max-width:1100px;margin:0;text-wrap:balance;position:relative}
.sl-split-why{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}
.sl-why-head{position:sticky;top:120px}
.sl-why-img{aspect-ratio:4/3}
.sl-acc-list{counter-reset:acc}
.sl-acc-list>*+*{margin-block-start:0!important}
.sl-acc{border-top:1px solid rgba(12,26,17,.14);counter-increment:acc}
.sl-acc:last-child{border-bottom:1px solid rgba(12,26,17,.14)}
.sl-acc summary{list-style:none;display:flex;align-items:center;gap:28px;padding:28px 0;cursor:pointer;font-family:var(--sl-display);font-stretch:112%;font-weight:700;font-size:clamp(20px,2vw,27px);line-height:1.2;letter-spacing:-.02em;transition:color .3s}
.sl-acc summary::-webkit-details-marker{display:none}
.sl-acc summary::before{content:'0' counter(acc);font-family:var(--sl-mono);font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--sl-leaf-deep);width:28px;flex-shrink:0}
.sl-acc summary::after{content:'+';margin-left:auto;flex-shrink:0;width:40px;height:40px;border-radius:50%;border:1px solid rgba(12,26,17,.2);display:grid;place-items:center;font-family:var(--sl-mono);font-size:20px;font-weight:400;transition:all .35s}
.sl-acc summary:hover{color:var(--sl-leaf-deep)}
.sl-acc[open] summary{color:var(--sl-leaf-deep)}
.sl-acc[open] summary::after{content:'–';background:var(--sl-forest);border-color:var(--sl-forest);color:var(--sl-leaf)}
.sl-acc p{margin:0;padding:0 68px 30px 56px;font-size:16px;line-height:1.75;color:var(--sl-muted)}
.sl-icards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sl-icard{position:relative;overflow:hidden;border-radius:22px;aspect-ratio:4/5;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:var(--sl-forest-2)}
.sl-icard-img{position:absolute!important;inset:0;margin:0!important;z-index:0}
.sl-icard-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--sl-ease)}
.sl-icard:hover .sl-icard-img img,
.sl-icard.is-focus .sl-icard-img img{transform:scale(1.07)}
.sl-icard::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,18,10,0) 35%,rgba(5,18,10,.88) 100%)}
.sl-icard>:not(.sl-icard-img){position:relative;z-index:2}
.sl-icard-title{font-size:24px;line-height:1.15;margin:8px 0 0!important}

/* ---------- services page ---------- */
.sl-zigs>*+*{margin-block-start:120px!important}
.sl-zig{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(40px,6vw,88px);align-items:center}
.sl-zig:nth-child(even) .sl-zig-img{order:2}
.sl-zig-img{aspect-ratio:16/11}
.sl-zig-copy>*+*{margin-block-start:24px}
.sl-cap-meta{display:flex;align-items:center;gap:16px}
.sl-zig .sl-ic{background:#EEF7F1;color:var(--sl-leaf-deep)}
.sl-cap-label{font-family:var(--sl-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sl-leaf-deep);margin:0}
.sl-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:st}
.sl-step{counter-increment:st;padding:32px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.sl-step::before{content:'0' counter(st);font-family:var(--sl-mono);font-size:12px;color:var(--sl-leaf)}
.sl-step-title{font-size:22px;margin:12px 0 0!important}
.sl-step-desc{font-size:15px;line-height:1.7;color:rgba(255,255,255,.72);margin:10px 0 0!important}
.sl-steps-img{display:none}
.editor-styles-wrapper .sl-steps-img{display:block;max-width:360px}
/* stepper built by site.js */
.sl-stepper{display:flex;flex-direction:column;gap:56px}
.sl-rail{position:relative}
.sl-rail-line{position:absolute;left:24px;right:24px;top:24px;height:2px;background:rgba(255,255,255,.14)}
.sl-rail-fill{height:100%;width:0;background:var(--sl-leaf);transition:width .7s var(--sl-ease)}
.sl-rail-steps{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.sl-rail button{background:none;border:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:18px;color:#fff;text-align:left;font:inherit;cursor:pointer}
.sl-node{width:48px;height:48px;border-radius:50%;background:var(--sl-forest);border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;font-family:var(--sl-mono);font-size:13px;font-weight:500;color:rgba(255,255,255,.8);transition:all .45s var(--sl-ease)}
.sl-rail-title{font-weight:600;font-size:15px;color:rgba(255,255,255,.55);transition:color .3s}
.sl-rail button:hover .sl-node{border-color:var(--sl-leaf);transform:translateY(-3px)}
.sl-rail button:hover .sl-rail-title,.sl-rail button.is-on .sl-rail-title{color:#fff}
.sl-rail button.is-done .sl-node{background:#15462A;border-color:#15462A;color:var(--sl-leaf)}
.sl-rail button.is-on .sl-node{background:var(--sl-leaf);border-color:var(--sl-leaf);color:#06140B;box-shadow:0 0 0 8px rgba(67,194,120,.2)}
.sl-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:28px;overflow:hidden;background:#fff;color:var(--sl-ink);min-height:400px}
.sl-panel-media{position:relative;overflow:hidden;min-height:320px;background:var(--sl-forest-2)}
.sl-panel-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sl-panel-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,18,10,.2),rgba(5,18,10,.8))}
.sl-panel-media-text{position:absolute;inset:0;z-index:2;padding:48px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.sl-panel-label{font-family:var(--sl-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sl-leaf)}
.sl-panel-num{font-family:var(--sl-display);font-stretch:112%;font-weight:900;font-size:clamp(110px,12vw,180px);line-height:.8;color:transparent;-webkit-text-stroke:1.5px #fff}
.sl-panel-body{padding:56px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.sl-panel-body h3{font-size:clamp(30px,3vw,44px);margin:0 0 20px;color:var(--sl-ink)}
.sl-panel-body p{margin:0;font-size:18px;line-height:1.7;color:var(--sl-body);max-width:480px}
.sl-panel-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;color:var(--sl-muted)}
.sl-panel-nav div{display:flex;gap:10px}
.sl-icon-btn{width:52px;height:52px;border-radius:50%;border:1px solid rgba(12,26,17,.2);background:transparent;display:grid;place-items:center;color:var(--sl-ink);cursor:pointer;transition:all .35s}
.sl-icon-btn:hover{background:var(--sl-forest);color:var(--sl-leaf);border-color:var(--sl-forest)}
.sl-panel-in{animation:sl-fade .6s ease both}

/* ---------- network page ---------- */
.sl-bigstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.sl-bigstat{border-left:2px solid var(--sl-leaf);padding-left:28px}
.sl-big-num{font-family:var(--sl-display);font-stretch:112%;font-weight:800;font-size:clamp(56px,6vw,88px);line-height:1;letter-spacing:-.02em;margin:0}
.sl-bigstat .sl-stat-label{color:var(--sl-muted);font-size:15px;margin-top:10px!important}
.sl-tabs{display:flex;flex-wrap:wrap;gap:10px}
.sl-tab{background:transparent;border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.82);height:48px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;gap:10px;font:500 14px/1 var(--wp--preset--font-family--plex-sans,sans-serif);cursor:pointer;transition:all .35s}
.sl-tab:hover{border-color:rgba(255,255,255,.5);color:#fff}
.sl-tab.is-on{background:var(--sl-leaf);border-color:var(--sl-leaf);color:#06140B}
.sl-tab span{font-family:var(--sl-mono);font-size:11px;opacity:.75}
.sl-regions>*+*{margin-block-start:48px!important}
.sl-js .sl-regions>*+*{margin-block-start:36px!important}
.sl-region>*+*{margin-block-start:14px}
.sl-region-name{font-size:28px;margin:0}
.sl-js .sl-region{display:none}
.sl-js .sl-region.is-on{display:block;animation:sl-fade .5s ease both}
.sl-js .sl-region-name{display:none}
.sl-region-sub{font-family:var(--sl-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:28px!important}
.sl-region-sub:first-of-type{margin-top:0!important}
.sl-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sl-chips li{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:14px;color:rgba(255,255,255,.9);transition:background .3s,border-color .3s}
.sl-chips li:hover{background:rgba(67,194,120,.16);border-color:rgba(67,194,120,.5)}
.sl-note{font-size:13px;line-height:1.6;color:rgba(255,255,255,.6);font-style:italic;margin-top:20px!important}
.sl-cov{display:flex;flex-direction:column;gap:18px;padding-top:12px}
.sl-label{font-size:13px;font-weight:600}
.sl-cov-field{position:relative}
.sl-cov-field svg{position:absolute;left:22px;top:20px}
.sl-search{width:100%;height:60px;border-radius:999px;border:1px solid rgba(12,26,17,.2);background:var(--sl-soft);color:var(--sl-ink);font-size:16px;padding:0 24px 0 56px;font-family:inherit;outline:none;transition:border-color .3s,background .3s,box-shadow .3s}
.sl-search:focus{border-color:var(--sl-leaf-deep);background:#fff;box-shadow:0 0 0 4px rgba(67,194,120,.18)}
.sl-cov-results{min-height:48px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:#6A756E}
.sl-cov-results a{color:var(--sl-leaf-deep)}
.sl-chip-l{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px;border-radius:999px;background:#EEF7F1;border:1px solid #BFE3CC;font-size:14px;color:var(--sl-ink);animation:sl-fade .4s ease both}
.sl-chip-l small{color:#6A756E;font-size:12px}
.sl-soft-card{background:var(--sl-soft);border-radius:28px;padding:clamp(32px,5vw,64px)}
.sl-soft-card>*+*{margin-block-start:48px}
.sl-line{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.sl-line::before{content:'';position:absolute;left:10%;right:10%;top:7px;height:1px;background:rgba(12,26,17,.2)}
.sl-line-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;font-size:14px;font-weight:600;margin:0}
.sl-line-item::before{content:'';width:14px;height:14px;border-radius:50%;background:var(--sl-leaf-deep);box-shadow:0 0 0 6px var(--sl-soft)}
.sl-line-item:nth-child(even)::before{background:var(--sl-leaf)}

/* ---------- contact page ---------- */
.sl-section-contact{padding-top:120px}
.sl-contact-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:32px;align-items:start}
.sl-form-card{background:var(--sl-soft);border-radius:28px;padding:clamp(28px,4vw,56px)}
.sl-form-card>*+*{margin-block-start:14px}
.sl-form-card>.sl-form,.sl-form-card>form{margin-top:28px}
.sl-form,.sl-form *{box-sizing:border-box}
.sl-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sl-field{display:flex;flex-direction:column;gap:8px;margin:0}
.sl-form>.sl-field{margin-top:20px}
.sl-field label,.sl-field .sl-label{font-size:13px;font-weight:600;color:#26332B}
.sl-form input:not([type=hidden]),.sl-form select,.sl-form textarea,.wpcf7 input:not([type=submit]):not([type=hidden]),.wpcf7 select,.wpcf7 textarea{width:100%;height:52px;border-radius:12px;border:1px solid rgba(12,26,17,.16);background:#fff;padding:0 16px;font-size:15px;font-family:inherit;color:var(--sl-ink);outline:none;transition:border-color .3s,box-shadow .3s}
.sl-form textarea,.wpcf7 textarea{height:110px;padding:14px 16px;resize:vertical}
.sl-form :is(input,select,textarea):focus,.wpcf7 :is(input,select,textarea):focus{border-color:var(--sl-leaf-deep);box-shadow:0 0 0 4px rgba(67,194,120,.18)}
.sl-units{display:flex;gap:4px;padding:4px;border-radius:999px;background:#fff;border:1px solid rgba(12,26,17,.12);height:52px;align-items:center}
.sl-unit{flex:1;height:42px;border-radius:999px;border:0;background:transparent;font:500 14px/1 inherit;color:var(--sl-muted);cursor:pointer;transition:all .3s}
.sl-unit.is-on{background:var(--sl-forest);color:#fff}
.sl-form-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px;font-size:13px;color:var(--sl-muted)}
.sl-form-foot span{max-width:320px}
.sl-submit,.wpcf7 input[type=submit]{display:inline-flex;align-items:center;gap:14px;height:54px;padding:0 26px;border-radius:999px;border:0;background:var(--sl-forest);color:#fff;font:600 15px/1 inherit;cursor:pointer;transition:background .35s}
.sl-submit:hover,.wpcf7 input[type=submit]:hover{background:#123A22}
.sl-form-done{padding:40px 0}
.sl-form-done h3{font-size:40px;margin:0 0 16px}
.sl-form-done p{color:var(--sl-muted);font-size:17px;line-height:1.7;max-width:460px;margin:0}
.sl-contact-side{display:flex;flex-direction:column;gap:24px}
.sl-aside{border-radius:28px;padding:48px;position:relative;overflow:hidden}
.sl-aside>*+*{margin-block-start:24px}
.sl-aside-title{font-size:30px;line-height:1.1;margin:0}
.sl-kv>*+*{margin-block-start:6px!important}
.sl-k{font-family:var(--sl-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0}
.sl-v{font-size:17px;font-weight:500;line-height:1.6;color:rgba(255,255,255,.88);margin:0}
.sl-v a{color:#fff;text-decoration:none;transition:color .3s}
.sl-v a:hover{color:var(--sl-leaf)}
.sl-leafmask{width:78%;margin:12px auto 0!important;aspect-ratio:153.3/161.4;overflow:hidden;-webkit-mask:url(../images/leaf-all.svg) center/100% 100% no-repeat;mask:url(../images/leaf-all.svg) center/100% 100% no-repeat}
.sl-leafmask img{width:100%;height:100%;object-fit:cover}

/* ---------- footer ---------- */
.sl-footer{background:#041009;color:#fff;padding-block:96px 40px}
.sl-footer>*+*{margin-block-start:80px}
.sl-footer-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px}
.sl-footer-grid>:first-child>*+*{margin-block-start:24px}
.sl-footer .sl-brand .sl-wordmark{font-size:20px}
.sl-footer-text{font-size:16px;line-height:1.7;color:rgba(255,255,255,.62);max-width:420px;margin:0}
.sl-footer-addr{font-size:14px;line-height:1.7;color:rgba(255,255,255,.5);margin:0}
.sl-footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.sl-footer-cols>*>*+*{margin-block-start:14px}
.sl-footer-h{font-family:var(--sl-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sl-leaf);margin:0;font-weight:500}
.sl-footer-cols p:not(.sl-footer-h){margin:0;font-size:15px}
.sl-footer a{color:rgba(255,255,255,.7);text-decoration:none;transition:color .3s;display:inline-block}
.sl-footer a:hover{color:var(--sl-leaf)}
.sl-outline-word{font-family:var(--sl-display);font-stretch:112%;font-weight:900;font-size:min(182px,13.4cqw);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(67,194,120,.35);white-space:nowrap;margin:0;padding-block:.12em .06em;overflow:hidden}
.sl-footer{container-type:inline-size}
.sl-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:rgba(255,255,255,.5)}
.sl-footer-bottom p{margin:0}

/* ---------- scroll reveal (progressive) ---------- */
@supports (animation-timeline: view()){
  .sl-js .rv{animation:sl-rv linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
  .sl-js .rv-clip{animation:sl-clip linear both;animation-timeline:view();animation-range:entry 0% cover 38%}
  .sl-js .sl-plx img{animation:sl-plx linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  .sl-js .sl-leafwin-wrap{animation:sl-grow linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
}

/* ---------- keyframes ---------- */
@keyframes sl-fade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes sl-kb{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes sl-fill{to{transform:scaleX(1)}}
@keyframes sl-spin{to{transform:rotate(360deg)}}
@keyframes sl-draw{to{stroke-dashoffset:0}}
@keyframes sl-lfill{to{fill:rgba(67,194,120,.07)}}
@keyframes sl-float{from{transform:translateY(0) rotate(0)}to{transform:translateY(-18px) rotate(2.5deg)}}
@keyframes sl-pin-drop{0%{opacity:0;transform:translate(-50%,-160%)}100%{opacity:1;transform:translate(-50%,-100%)}}
@keyframes sl-rv{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes sl-clip{from{clip-path:inset(12% 8% 12% 8% round 32px)}to{clip-path:inset(0 0 0 0 round 24px)}}
@keyframes sl-plx{from{transform:translateY(-8%) scale(1.18)}to{transform:translateY(8%) scale(1.18)}}
@keyframes sl-grow{from{opacity:0;transform:translateY(-50%) scale(.7) rotate(-10deg)}to{opacity:1;transform:translateY(-50%)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.sl-leaf-outline path{stroke-dashoffset:0}}

/* ---------- block editor: lay out stacked media so every image is editable ---------- */
.editor-styles-wrapper .sl-hero,.editor-styles-wrapper .sl-page-hero{margin-top:0!important;min-height:0}
.editor-styles-wrapper .sl-hero>.sl-hero-media{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px}
.editor-styles-wrapper .sl-hero-media::before,.editor-styles-wrapper .sl-hero-media::after{display:none}
.editor-styles-wrapper .sl-hs-img{position:relative!important;opacity:1;height:160px}
.editor-styles-wrapper .sl-seg-media{aspect-ratio:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px}
.editor-styles-wrapper .sl-seg-img{position:relative!important;opacity:1;transform:none;height:140px}
.editor-styles-wrapper .sl-seg-caption{position:relative;grid-column:1/-1}
.editor-styles-wrapper .sl-svc-img{position:relative!important;opacity:1;transform:none;height:120px;margin-bottom:16px!important}
.editor-styles-wrapper .sl-svc::after{display:none}
.editor-styles-wrapper .sl-leaf-outline{display:none}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .sl-head,.sl-split,.sl-split-serve,.sl-split-why,.sl-who-media,.sl-zig,.sl-contact-grid,.sl-footer-grid,.sl-panel{grid-template-columns:minmax(0,1fr)}
  .sl-svc-grid,.sl-icards,.sl-ptiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sl-rcards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sl-zig:nth-child(even) .sl-zig-img{order:0}
  .sl-why-head{position:static}
  .sl-leafwin-wrap,.sl-header-cta{display:none!important}
  .sl-split-top .sl-who-text{padding-top:0}
}
@media (max-width:720px){
  .sl-section{padding-block:88px}
  .sl-svc-grid,.sl-icards,.sl-ptiles,.sl-bigstats,.sl-form-grid,.sl-footer-cols{grid-template-columns:minmax(0,1fr)}
  .sl-rcards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sl-hero-foot{flex-direction:column;align-items:stretch}
  .sl-stats{gap:16px}
  .sl-stats .sl-stat-num{font-size:32px}
  .sl-hs-labels,.sl-leaf-outline{display:none}
  .sl-ab-media{padding:0}
  .sl-ab-small{display:none}
  .sl-badge{left:12px;top:12px;width:112px;height:112px}
  .sl-badge-num{font-size:28px}
  .sl-pin{width:22px;height:29px}
  .sl-pin-label{display:none}
  .sl-map-card{padding:16px}
  .sl-map-card .sl-pins{inset:16px}
  .sl-rail{overflow-x:auto;padding-bottom:12px}
  .sl-rail-steps{min-width:760px}
  .sl-panel-body,.sl-panel-media-text,.sl-aside{padding:28px}
  .sl-line{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sl-line::before{display:none}
  .sl-acc p{padding:0 0 24px 56px}
}

/* service cards: photo + gradient sit behind the (static) title so it stays visible when the photo is revealed */
.sl-svc{isolation:isolate}
.sl-svc>.sl-svc-img{z-index:-2}
.sl-svc::after{z-index:-1}
