/* =====================================================================
   SoilChem, LLC — design layer (matches Claude Design files 1:1)
   Loaded after style.css. Tokens live in style.css :root.
   ===================================================================== */

/* ---------- 1. Base ---------- */
body{font-family:var(--sc-font-body);font-size:18px;line-height:1.6;font-weight:400;color:#151716;background:#FFFFFF;-webkit-font-smoothing:antialiased}
#page-container,#et-main-area,#main-content{background:#FFFFFF}
.et_pb_module,.et_pb_text,.et_pb_text_inner{font-weight:400}
.et_pb_text :where(p,li,dd,dt,address,figcaption,span){font-weight:inherit}
.sc-x :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,address,blockquote){margin:0;padding:0}
.sc-x :where(ul,ol){list-style:none}
.sc-x img{display:block;max-width:100%;height:auto}
.sc-x,.sc-x :where(p){font-size:18px;line-height:1.6;color:inherit}
.sc-x :where(h1,h2,h3,h4,h5,h6){padding-bottom:0;margin:0}
.et_pb_text.et_pb_module .et_pb_text_inner :is(h1,h2,h3,h4,h5,h6){padding-bottom:0}
.sc-hd__logo p,.sc-hd__cta p,.sc-hd__menu p{margin:0!important;padding:0!important}
.sc-hd__logo p{height:100%}
.et_pb_text.sc-x,.sc-x .et_pb_text_inner{color:inherit}
.sc-x a{color:#356B1E;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.sc-x a:hover{color:#151716;text-decoration-thickness:2px}
.sc-dark .sc-x a,.sc-x.sc-on-dark a{color:#FFFFFF}
.sc-dark .sc-x a:hover{color:#93C75C}
.sc-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- 2. Sections + rows (content box 1280 inside a 1376 container) ---------- */
.et_pb_section.sc-sec{padding:clamp(64px,10vw,112px) 0!important;background-color:#FFFFFF}
.et_pb_section.sc-sec--tight{padding:clamp(56px,8vw,88px) 0!important}
.et_pb_section.sc-sec--flush{padding:0!important}
.et_pb_section.sc-sec--flushtop{padding-top:0!important}
.et_pb_section.sc-surface{background-color:#F4F4F2!important}
.et_pb_section.sc-dark{background-color:#1A1D1B!important;color:#FFFFFF}
.sc-sec>.et_pb_row,.sc-pagehero>.et_pb_row,.sc-cta>.et_pb_row,.sc-404>.et_pb_row{width:100%!important;max-width:1376px!important;margin:0 auto!important;padding:0 clamp(20px,4.5vw,48px)!important;box-sizing:border-box}
.sc-sec>.et_pb_row+.et_pb_row{margin-top:clamp(32px,4vw,48px)!important}
.sc-sec>.et_pb_row.sc-mt-40{margin-top:clamp(40px,5vw,56px)!important}
.sc-sec>.et_pb_row.sc-mt-24{margin-top:24px!important}
.sc-sec .et_pb_column{margin-bottom:0!important}
.sc-row--center{align-items:center!important}
.sc-row--top{align-items:flex-start!important}
.sc-gap-64{column-gap:clamp(32px,4vw,64px)!important;row-gap:clamp(32px,4vw,64px)!important}
.sc-gap-24{column-gap:24px!important;row-gap:24px!important}
.sc-gap-0{column-gap:0!important}
.sc-x>.et_pb_text_inner>*+*{margin-top:0}

/* stacks */
.sc-stack{display:flex;flex-direction:column;gap:20px}
.sc-stack--16{gap:16px}.sc-stack--24{gap:24px}.sc-stack--28{gap:28px}.sc-stack--12{gap:12px}
.sc-stack>p,.sc-stack>h1,.sc-stack>h2,.sc-stack>h3{margin:0!important;padding:0!important}

/* ---------- 3. Type ---------- */
.sc-x .sc-h1,.sc-h1{font-family:var(--sc-font-heading);font-weight:800;font-size:clamp(36px,4.6vw,60px);line-height:1.05;letter-spacing:-0.012em;text-wrap:balance;color:inherit;padding:0}
.sc-x .sc-hph1{font-family:var(--sc-font-heading);font-weight:800;font-size:clamp(40px,5.6vw,68px);line-height:1.04;letter-spacing:-0.014em;max-width:16ch;text-wrap:balance;color:#FFFFFF;padding:0}
.sc-x .sc-h2,.sc-h2{font-family:var(--sc-font-heading);font-weight:800;font-size:clamp(30px,4.2vw,44px);line-height:1.1;letter-spacing:-0.01em;text-wrap:balance;color:inherit;padding:0}
.sc-x .sc-h2--md{font-size:clamp(26px,3vw,32px);line-height:1.15}
.sc-x .sc-h2--sm{font-weight:700;font-size:clamp(24px,2.6vw,30px);line-height:1.2;max-width:30ch}
.sc-x .sc-h2--xs{font-weight:700;font-size:22px;line-height:1.3}
.sc-x .sc-h3{font-family:var(--sc-font-heading);font-weight:700;font-size:22px;line-height:1.3;color:inherit;padding:0}
.sc-x .sc-lead,.sc-lead{font-size:clamp(19px,1.6vw,22px)!important;line-height:1.5!important}
.sc-x .sc-body{font-size:18px;line-height:1.6}
.sc-x .sc-p17{font-size:17px;line-height:1.6}
.sc-x .sc-small,.sc-small{font-size:15px!important;line-height:1.5}
.sc-x .sc-muted,.sc-muted{color:#4B514D!important}
.sc-dark .sc-x{color:#FFFFFF}
.sc-mw-14{max-width:14ch}.sc-mw-16{max-width:16ch}.sc-mw-20{max-width:20ch}.sc-mw-26{max-width:26ch}
.sc-mw-34{max-width:34ch}.sc-mw-40{max-width:40ch}.sc-mw-44{max-width:44ch}.sc-mw-46{max-width:46ch}.sc-mw-52{max-width:52ch}.sc-mw-56{max-width:56ch}.sc-mw-60{max-width:60ch}.sc-mw-62{max-width:62ch}.sc-mw-66{max-width:66ch}

/* grade line */
.sc-rule{display:block;width:96px;height:6px;background:#74A544;border:0}
.sc-dark .sc-rule,.sc-pagehero .sc-rule,.sc-cta .sc-rule{background:#93C75C}

/* breadcrumb */
.sc-crumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;font-size:15px;line-height:1.1}
.sc-crumbs li{padding:0}
.sc-crumbs a{color:#356B1E}
.sc-crumbs li[aria-hidden]{color:#4B514D}
.sc-crumbs li[aria-current]{font-weight:600;color:#151716}
.sc-crumbs--dark a,.sc-crumbs--dark li[aria-hidden],.sc-crumbs--dark li[aria-current]{color:#FFFFFF!important}

/* ---------- 4. Buttons + links ---------- */
.sc-btn,.sc-x a.sc-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;box-sizing:border-box;font-family:var(--sc-font-body);font-size:17px;font-weight:600;line-height:1;letter-spacing:0;text-decoration:none!important;white-space:nowrap;border:2px solid transparent;border-radius:0;cursor:pointer;transition:background-color 200ms var(--ease-out),color 200ms var(--ease-out),border-color 200ms var(--ease-out),transform 120ms var(--ease-out)}
.sc-btn--lg,.sc-x a.sc-btn--lg{min-height:56px;padding:0 28px;font-size:18px}
.sc-btn--sm,.sc-x a.sc-btn--sm{min-height:48px;padding:0 22px;font-size:17px}
.sc-btn--primary,.sc-x a.sc-btn--primary{background:#356B1E;color:#FFFFFF!important;border-color:#356B1E}
.sc-btn--primary:hover,.sc-x a.sc-btn--primary:hover{background:#285216;border-color:#285216;color:#FFFFFF!important}
.sc-btn--light,.sc-x a.sc-btn--light,.sc-dark .sc-x a.sc-btn--primary,.sc-hero .sc-btn--primary{background:#93C75C;border-color:#93C75C;color:#1A1D1B!important}
.sc-btn--light:hover,.sc-x a.sc-btn--light:hover,.sc-dark .sc-x a.sc-btn--primary:hover,.sc-hero .sc-btn--primary:hover{background:#A9D57A;border-color:#A9D57A;color:#1A1D1B!important}
.sc-btn--outline,.sc-x a.sc-btn--outline{background:transparent;color:#151716!important;border-color:#151716}
.sc-btn--outline:hover,.sc-x a.sc-btn--outline:hover{background:#151716;color:#FFFFFF!important}
.sc-btn--outline-light,.sc-x a.sc-btn--outline-light{background:transparent;color:#FFFFFF!important;border-color:#FFFFFF}
.sc-btn--outline-light:hover,.sc-x a.sc-btn--outline-light:hover{background:#FFFFFF;color:#1A1D1B!important}
.sc-btn:active{transform:scale(0.97)}
.sc-btn__arrow{display:inline-block;transition:transform 200ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.sc-btn:hover .sc-btn__arrow{transform:translateX(4px)}}
.sc-hero .sc-btn{min-height:56px;padding:0 28px;font-size:18px;font-weight:600}
.sc-x a.sc-arrow,.sc-arrow{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:17px;font-weight:600;color:#356B1E;text-decoration:underline;text-underline-offset:3px}
.sc-x a.sc-arrow:hover{color:#151716}
.sc-arrow span{transition:transform 200ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.sc-arrow:hover span{transform:translateX(4px)}.sc-arrow--back:hover span{transform:translateX(-4px)}}
.sc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.sc-x a.sc-tel-light{color:#FFFFFF;font-weight:600;font-size:18px}

/* ---------- 5. Header (Theme Builder) ---------- */
.et-l--header{position:sticky;top:0;z-index:999}
body.admin-bar .et-l--header{top:32px}
@media (max-width:782px){body.admin-bar .et-l--header{top:46px}}
.et_pb_section.sc-hd{padding:0!important;background:#FFFFFF!important;border-bottom:1px solid #D6D8D4;transition:background-color 250ms var(--ease-out),border-color 250ms var(--ease-out)}
.sc-hd>.et_pb_row{width:100%!important;max-width:1376px!important;margin:0 auto!important;padding:0 clamp(20px,3vw,32px) 0 0!important;height:88px;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;column-gap:32px!important;transition:height 250ms var(--ease-out);box-sizing:border-box}
.sc-hd .et_pb_column{margin:0!important;width:auto!important;flex:0 0 auto!important;min-width:0}
.sc-hd .sc-hd__logo{height:100%;align-self:stretch}
.sc-hd .sc-hd__nav{flex:1 1 auto!important;display:flex!important;justify-content:flex-end}
.sc-hd__logo .et_pb_text,.sc-hd__logo .et_pb_text_inner{height:100%}
.sc-hd-logo{height:100%;display:flex!important;align-items:center;background:#FFFFFF;padding:0 clamp(16px,2.4vw,28px);text-decoration:none!important}
.sc-hd-logo img{height:52px!important;width:auto!important;max-width:none;display:block;transition:height 250ms var(--ease-out)}
.sc-hd .et_pb_menu{background:transparent!important;width:100%}
.sc-hd .et_pb_menu_inner_container{justify-content:flex-end!important;width:100%}
.sc-hd .et_pb_menu__wrap{display:flex!important;justify-content:flex-end!important;flex:1 1 auto!important}
.sc-hd .et_pb_menu__logo-wrap,.sc-hd .et_pb_menu__search-button,.sc-hd .et_pb_menu__cart-button{display:none!important}
@media (min-width:981px){.sc-hd .et_pb_menu__menu,.sc-hd .et_pb_menu__menu>nav{display:flex!important;justify-content:flex-end}}
.sc-hd .et_pb_menu .et-menu{display:flex;gap:8px;margin:0;padding:0}
.sc-hd .et_pb_menu .et-menu>li{padding:0!important;margin:0!important}
.sc-hd .et_pb_menu .et-menu>li>a{display:inline-flex!important;align-items:center;min-height:44px;padding:0 12px!important;font-family:var(--sc-font-body);font-size:17px!important;font-weight:600!important;color:#151716!important;white-space:nowrap;opacity:1!important;text-decoration:none;text-underline-offset:8px;text-decoration-thickness:3px;text-decoration-color:#356B1E}
.sc-hd .et_pb_menu .et-menu>li>a:hover{text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.sc-hd .et_pb_menu .et-menu>li.current-menu-item>a{text-decoration-line:underline;text-decoration-thickness:3px;text-underline-offset:8px}
.sc-hd .et-menu .sc-menu-cta{display:none!important}
.sc-hd .mobile_nav{display:none!important}
.sc-hd-menu{display:none;margin-left:auto;min-width:48px;min-height:48px;align-items:center;justify-content:center;gap:10px;background:transparent;border:2px solid #151716;color:#151716;font:600 16px var(--sc-font-body);padding:0 14px;cursor:pointer;border-radius:0}
.sc-hd-menu__bars{display:flex;flex-direction:column;gap:4px}.sc-hd-menu__bars span{width:18px;height:2px;background:currentColor;display:block}
.sc-stuck .sc-hd>.et_pb_row{height:68px}
.sc-stuck .sc-hd-logo img{height:40px!important}
/* over a photo hero: transparent until scrolled */
body:has(.sc-hero,.sc-pagehero,.sc-404) .et-l--header{position:fixed;left:0;right:0}
body:has(.sc-hero,.sc-pagehero,.sc-404):not(.sc-stuck):not(.sc-drawer-open) .sc-hd{background:transparent!important;border-bottom-color:transparent}
body:has(.sc-hero,.sc-pagehero,.sc-404):not(.sc-stuck) .sc-hd .et-menu>li>a{color:#FFFFFF!important;text-decoration-color:#93C75C}
body:has(.sc-hero,.sc-pagehero,.sc-404):not(.sc-stuck) .sc-hd a.sc-btn--primary{background:#93C75C;border-color:#93C75C;color:#1A1D1B!important}
body:has(.sc-hero,.sc-pagehero,.sc-404):not(.sc-stuck) .sc-hd a.sc-btn--primary:hover{background:#A9D57A;border-color:#A9D57A}
body:has(.sc-hero,.sc-pagehero,.sc-404):not(.sc-stuck) .sc-hd-menu{color:#FFFFFF;border-color:#FFFFFF}
body:has(.sc-hero,.sc-pagehero,.sc-404):not(.sc-stuck) .sc-hd :where(a,button):focus-visible{outline-color:#C5E89A}
@media (max-width:980px){
  .sc-hd>.et_pb_row{height:64px!important;padding-right:20px!important;column-gap:16px!important}
  .sc-hd-logo{padding:0 16px}
  .sc-hd-logo img{height:40px!important}
  .sc-hd .sc-hd__nav,.sc-hd .sc-hd__cta{display:none!important}
  .sc-hd .sc-hd__menu{display:flex!important;margin-left:auto!important}
  .sc-hd-menu{display:inline-flex}
}
@media (min-width:981px){.sc-hd .sc-hd__menu{display:none!important}}
/* drawer */
.sc-drawer{position:fixed;inset:0;z-index:100000;background:#1A1D1B;color:#FFFFFF;display:flex;flex-direction:column;overflow-y:auto}
.sc-drawer[hidden]{display:none}
.sc-drawer__top{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 20px 0 0;flex:none}
.sc-drawer__logo{height:100%;display:flex;align-items:center;background:#FFFFFF;padding:0 16px}
.sc-drawer__logo img{height:40px;width:auto;display:block}
.sc-drawer__close{min-width:48px;min-height:48px;background:transparent;border:2px solid #FFFFFF;color:#FFFFFF;font:600 16px var(--sc-font-body);padding:0 14px;cursor:pointer;border-radius:0}
.sc-drawer__nav{padding:24px 20px;display:flex;flex-direction:column;gap:4px}
.sc-drawer__nav a{min-height:56px;display:flex;align-items:center;font-family:var(--sc-font-heading);font-weight:800;font-size:32px;color:#FFFFFF;text-decoration:none}
.sc-drawer__nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:#93C75C;text-decoration-thickness:4px;text-underline-offset:8px}
.sc-drawer__foot{padding:8px 20px 40px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.sc-drawer__foot .sc-btn{background:#93C75C;color:#1A1D1B!important;border-color:#93C75C}
.sc-drawer__foot a.sc-drawer__tel{color:#FFFFFF;font-size:18px;font-weight:600}
.sc-drawer :focus-visible{outline:2px solid #C5E89A;outline-offset:2px}
html.sc-lock,html.sc-lock body{overflow:hidden}
body.admin-bar .sc-drawer{top:0}

/* ---------- 6. Footer (Theme Builder) ---------- */
.et_pb_section.sc-ft{background:#151716!important;color:#FFFFFF;padding:clamp(56px,8vw,88px) 0 32px!important}
.sc-ft>.et_pb_row{width:100%!important;max-width:1376px!important;margin:0 auto!important;padding:0 clamp(20px,4.5vw,48px)!important;box-sizing:border-box}
.sc-ft>.et_pb_row.sc-ft__cols{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px!important}
.sc-ft__cols>.et_pb_column{width:auto!important;max-width:none!important;flex:none!important;margin:0!important}
@media (max-width:980px){.sc-ft>.et_pb_row.sc-ft__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.sc-ft>.et_pb_row.sc-ft__cols{grid-template-columns:minmax(0,1fr)}}
.sc-ft .sc-x,.sc-ft .sc-x p{color:#FFFFFF}
.sc-ft .sc-x a{color:#FFFFFF}
.sc-ft .sc-x a:hover{color:#93C75C}
.sc-ft-brand{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.sc-ft-logo{display:flex!important;background:#FFFFFF;padding:10px 14px}
.sc-ft-logo img{height:48px!important;width:auto!important;display:block}
.sc-ft-brand p{font-size:16px!important;line-height:1.6!important;max-width:30ch}
.sc-ft h2{margin:0 0 8px!important;padding:0!important;font-family:var(--sc-font-heading);font-weight:700;font-size:18px!important;line-height:1.1;color:#FFFFFF!important}
.sc-ft-nav{display:flex;flex-direction:column;gap:4px}
.sc-ft-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.sc-ft-nav li{padding:0}
.sc-ft .sc-ft-nav a{min-height:44px;display:flex;align-items:center;color:#FFFFFF;font-size:17px;text-decoration:none}
.sc-ft .sc-ft-nav a:hover{text-decoration:underline;color:#93C75C}
.sc-ft-contact{display:flex;flex-direction:column;gap:12px;font-size:17px!important;line-height:1.55}
.sc-ft-contact address{font-style:normal}
.sc-ft-contact a{min-height:44px;display:flex;align-items:center}
.sc-ft-follow{display:flex;flex-direction:column;gap:12px}
.sc-ft-follow a{min-height:44px;display:flex;align-items:center;font-size:17px}
.sc-ft-follow .sc-ft-soon{font-size:15px}
.sc-ft>.et_pb_row.sc-ft__legal{margin-top:56px!important}
.sc-ft-legal{border-top:1px solid rgba(255,255,255,0.28);padding-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;font-size:15px!important;line-height:1.1}
.sc-ft-legal__links{display:flex;flex-wrap:wrap;gap:8px 24px}

/* ---------- 7. Photo page hero ---------- */
.et_pb_section.sc-pagehero{position:relative;min-height:clamp(440px,64vh,640px);display:flex!important;flex-direction:column;justify-content:flex-end;padding:140px 0 clamp(48px,7vw,80px)!important;background-color:#1A1D1B!important;background-size:cover!important}
.sc-pagehero .sc-x{color:#FFFFFF}
.sc-pagehero .sc-lead{max-width:46ch}
.sc-pagehero--wide .sc-hph1{max-width:18ch}.sc-pagehero--wide .sc-lead{max-width:52ch}
@media (max-width:980px){.et_pb_section.sc-pagehero{padding-top:112px!important}}

/* ---------- 8. Media blocks ---------- */
.sc-fig{display:flex;flex-direction:column;gap:12px}
.sc-fig__frame{overflow:hidden;background:#E7E8E4}
.sc-fig__frame img{width:100%;height:100%;object-fit:cover}
.sc-ar-219{aspect-ratio:21/9}.sc-ar-43{aspect-ratio:4/3}.sc-ar-1610{aspect-ratio:16/10}.sc-ar-169{aspect-ratio:16/9}.sc-ar-45{aspect-ratio:4/5}
@media (max-width:767px){.sc-ar-219{aspect-ratio:4/3}}
.sc-fig figcaption{font-size:15px;line-height:1.5;color:#4B514D}
.sc-cover{position:relative;min-height:420px;overflow:hidden;background:#E7E8E4}
.sc-cover img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
.sc-col-stretch{align-self:stretch!important;display:flex!important;flex-direction:column}
.sc-col-stretch .et_pb_text,.sc-col-stretch .et_pb_text_inner{height:100%;flex:1}

/* Vimeo facade (loads the player only on click, dnt=1) */
.sc-vid{display:flex;flex-direction:column;gap:14px;margin:0}
.sc-vid__box{position:relative;aspect-ratio:16/9;background:#1A1D1B;overflow:hidden}
.sc-vid__btn{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#1A1D1B;cursor:pointer;display:block}
.sc-vid__btn img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;max-width:none}
.sc-vid__btn::after{content:"";position:absolute;inset:0;background:rgba(26,29,27,0.3)}
.sc-vid--hero .sc-vid__btn::after{background:rgba(26,29,27,0.35)}
.sc-vid__play{position:absolute;z-index:1;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;background:#93C75C;display:flex;align-items:center;justify-content:center;transition:transform 160ms var(--ease-out)}
.sc-vid__play::before{content:"";width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:20px solid #1A1D1B;margin-left:5px}
.sc-vid--lg .sc-vid__play,.sc-vid--hero .sc-vid__play{width:96px;height:96px;margin:-48px 0 0 -48px}
.sc-vid--lg .sc-vid__play::before,.sc-vid--hero .sc-vid__play::before{border-top-width:16px;border-bottom-width:16px;border-left-width:26px;margin-left:6px}
@media (hover:hover) and (pointer:fine){.sc-vid__btn:hover .sc-vid__play{transform:scale(1.06)}}
.sc-vid__btn:focus-visible{outline:3px solid #151716;outline-offset:3px}
.sc-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sc-vid figcaption{display:flex;flex-direction:column;gap:2px}
.sc-vid__city{font-weight:700;font-size:20px;line-height:1.25;color:#151716}
.sc-vid--lg .sc-vid__city{font-size:clamp(22px,2.4vw,28px)}
.sc-vid__place{font-size:16px;line-height:1.4;color:#4B514D}
.sc-vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
@media (max-width:980px){.sc-vgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.sc-vgrid{grid-template-columns:minmax(0,1fr)}}
.sc-clips{display:flex;flex-wrap:wrap;gap:24px}
.sc-clips__big{flex:2 1 560px;min-width:0}
.sc-clips__side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:24px}

/* placeholders */
.sc-ph{background:repeating-linear-gradient(135deg,#E7E8E4 0 12px,#F4F4F2 12px 24px);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;text-align:center}
.sc-ph span{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.4;color:#4B514D;background:#FFFFFF;padding:4px 8px}

/* ---------- 9. Home ---------- */
.sc-split{display:flex;flex-wrap:wrap;gap:clamp(32px,4vw,64px);align-items:center}
.sc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px}
@media (max-width:980px){.sc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.sc-stats{grid-template-columns:minmax(0,1fr)}}
.sc-stat{display:flex;flex-direction:column;gap:16px;border-top:1px solid rgba(255,255,255,0.28);padding-top:24px}
.sc-stat__num{font-family:var(--sc-font-heading);font-weight:800;font-size:clamp(56px,8vw,88px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-0.02em;color:#FFFFFF}
.sc-stat__num small{font-size:.5em;font-weight:800}
.sc-stat__bar{display:block;width:64px;height:6px;background:#93C75C}
.sc-stat__label{font-size:18px;line-height:1.5;max-width:26ch}
.sc-steps4{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px}
.sc-steps4::before{content:"";position:absolute;left:24px;right:24px;top:23px;height:2px;background:#151716}
@media (max-width:980px){.sc-steps4{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-steps4::before{display:none}}
@media (max-width:767px){.sc-steps4{grid-template-columns:minmax(0,1fr)}}
.sc-step{position:relative;display:flex;flex-direction:column;gap:16px}
.sc-step__n{width:48px;height:48px;background:#356B1E;color:#FFFFFF;font-weight:800;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}
.sc-step h3{font-weight:700;font-size:22px;line-height:1.3}
.sc-step p{font-size:17px!important;line-height:1.6!important;max-width:34ch}
.sc-legend{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600}
.sc-legend::before{content:"";width:20px;height:20px;background:#356B1E;flex:none}
.sc-clips-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px}
.sc-figpair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sc-figpair figure{margin:0;display:flex;flex-direction:column;gap:8px}
.sc-figpair img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.sc-figpair figcaption{font-size:15px;color:#4B514D}
.sc-seals{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:32px}
.sc-seals li{flex:0 0 calc((100% - 192px) / 7);display:flex;justify-content:center;padding:0!important;transition:transform 200ms var(--ease-out)}
.sc-seals img{width:100%;max-width:160px;aspect-ratio:1/1;height:auto;object-fit:contain;display:block}
@media (max-width:980px){.sc-seals li{flex-basis:calc((100% - 96px) / 4)}}
@media (max-width:767px){.sc-seals{gap:24px}.sc-seals li{flex-basis:calc((100% - 48px) / 3)}}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.sc-seals li:hover{transform:translateY(-4px)}}

/* Get Started band */
.et_pb_section.sc-cta{position:relative;padding:clamp(80px,12vw,144px) 0!important;background-color:#1A1D1B!important;background-size:cover!important;background-position:center 55%!important;color:#FFFFFF}
.sc-cta .sc-x{color:#FFFFFF}
.sc-cta .sc-cta__h{font-family:var(--sc-font-heading);font-weight:800;font-size:clamp(36px,5.4vw,64px);line-height:1.04;letter-spacing:-0.012em;max-width:16ch;text-wrap:balance;color:#FFFFFF}
.sc-cta .sc-lead{max-width:46ch}

/* ---------- 10. About ---------- */
.sc-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
@media (max-width:980px){.sc-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.sc-timeline{grid-template-columns:minmax(0,1fr)}}
.sc-timeline li{border-top:6px solid #747A76;padding:24px 24px 8px 0!important;display:flex;flex-direction:column;gap:12px}
.sc-timeline li.is-now{border-top-color:#356B1E}
.sc-timeline .sc-tl__year{font-weight:800;font-size:clamp(36px,4vw,48px);line-height:1;font-variant-numeric:tabular-nums}
.sc-timeline h3{font-weight:700;font-size:22px;line-height:1.3}
.sc-timeline p{font-size:17px!important;line-height:1.6!important;max-width:34ch}
.sc-points{display:flex;flex-direction:column}
.sc-points li{display:flex;gap:16px;align-items:baseline;padding:14px 0!important;border-top:1px solid rgba(255,255,255,0.28);font-size:18px;line-height:1.5}
.sc-points li::before{content:"";flex:none;width:12px;height:12px;background:#93C75C;transform:translateY(-1px)}
.et_pb_section.sc-halfsplit{padding:0!important;background:#1A1D1B!important}
.sc-halfsplit>.et_pb_row{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;display:flex!important;flex-wrap:wrap!important;column-gap:0!important}
.sc-halfsplit .et_pb_column{margin:0!important;flex:1 1 480px!important;width:auto!important;max-width:none!important}
.sc-halfsplit .sc-halfsplit__media{min-height:420px;position:relative;background-size:cover!important;background-position:center!important}
.sc-halfsplit .sc-halfsplit__body{padding:clamp(48px,7vw,96px) clamp(20px,4.5vw,64px)!important;display:flex!important;flex-direction:column;justify-content:center;box-sizing:border-box}
.sc-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}
@media (max-width:980px){.sc-team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.sc-team{grid-template-columns:minmax(0,1fr)}}
.sc-team li{display:flex;flex-direction:column;gap:16px}
.sc-team__name{font-weight:700;font-size:22px;line-height:1.1;display:block}
.sc-team__role{font-size:16px;color:#4B514D;display:block;margin-top:4px}
.sc-addr{font-style:normal;font-weight:600;font-size:18px;line-height:1.6}

/* ---------- 11. Reviews ---------- */
.sc-state{display:flex;align-items:center;gap:14px;font-family:var(--sc-font-heading);font-weight:800;font-size:clamp(24px,2.6vw,30px);line-height:1.2;color:#151716}
.sc-state::before{content:"";width:40px;height:6px;background:#74A544;flex:none}
.sc-stategroup+.sc-stategroup{margin-top:clamp(40px,5vw,56px)}
.sc-stategroup .sc-vgrid{margin-top:24px}

/* ---------- 12. Products ---------- */
.sc-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
@media (max-width:767px){.sc-benefits{grid-template-columns:minmax(0,1fr)}}
.sc-benefits li{display:flex;flex-direction:column;gap:12px;border-top:1px solid rgba(255,255,255,0.28);padding-top:24px!important}
.sc-benefits li::before{content:"";display:block;width:48px;height:6px;background:#93C75C;margin-bottom:4px}
.sc-benefits h3{font-weight:700;font-size:22px;line-height:1.3;color:#FFFFFF}
.sc-benefits p{font-size:17px!important;line-height:1.6!important;max-width:40ch;color:#FFFFFF}
.sc-uses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-template-rows:repeat(6,auto);column-gap:clamp(32px,4vw,64px)}
@media (max-width:767px){.sc-uses{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;grid-template-rows:none}}
.sc-uses li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:4px 16px;padding:24px 0!important;border-bottom:1px solid #D6D8D4}
.sc-uses__n{grid-row:1 / span 2;font-weight:800;font-size:22px;line-height:1.3;color:#356B1E;font-variant-numeric:tabular-nums}
.sc-uses h3{font-weight:700;font-size:22px;line-height:1.3;grid-column:2}
.sc-uses p{font-size:17px!important;line-height:1.5!important;grid-column:2;color:#151716}
.sc-docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:980px){.sc-docs{grid-template-columns:minmax(0,1fr)}}
.sc-docs li{background:#FFFFFF;border:1px solid #D6D8D4;padding:32px!important;display:flex;flex-direction:column;gap:20px}
.sc-pdf{position:relative;width:48px;height:60px;background:#356B1E;color:#FFFFFF;font-weight:800;font-size:13px;letter-spacing:.04em;display:flex;align-items:flex-end;justify-content:center;padding-bottom:12px;box-sizing:border-box;clip-path:polygon(0 0,70% 0,100% 22%,100% 100%,0 100%)}
.sc-pdf::after{content:"";position:absolute;right:0;top:0;width:30%;height:22%;background:rgba(255,255,255,0.35);clip-path:polygon(0 0,100% 100%,0 100%)}
.sc-docs h3{font-weight:700;font-size:21px;line-height:1.3;flex:1}
.sc-docs p{margin-top:auto!important}

/* ---------- 13. Projects ---------- */
.sc-facts{display:flex;flex-direction:column}
.sc-facts>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:12px 0;border-top:1px solid #D6D8D4}
.sc-facts--panel>div{grid-template-columns:110px minmax(0,1fr);border-top:0;border-bottom:1px solid #D6D8D4}
.sc-facts dt{font-size:15px;line-height:1.6;color:#4B514D}
.sc-facts dd{margin:0;font-weight:600;font-size:17px;line-height:1.6;color:#151716}
.sc-factpanel{background:#F4F4F2;padding:4px 24px 8px}
.sc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
@media (max-width:980px){.sc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.sc-cards{grid-template-columns:minmax(0,1fr)}}
.sc-x a.sc-card{display:flex;flex-direction:column;color:#151716;text-decoration:none;transition:transform 120ms var(--ease-out)}
.sc-card__media{display:block;overflow:hidden;aspect-ratio:16/10;background:#E7E8E4}
.sc-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 400ms var(--ease-out)}
.sc-card__cap{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-top:20px;transition:transform 200ms var(--ease-out)}
.sc-tag{display:inline-block;font-size:14px;font-weight:600;line-height:1.3;color:#FFFFFF;background:#356B1E;padding:4px 10px;margin-bottom:4px}
.sc-card__title{font-weight:700;font-size:21px;line-height:1.3;color:#151716}
.sc-card__place{font-size:16px;line-height:1.4;color:#4B514D}
.sc-x a.sc-card:active{transform:scale(0.98)}
.sc-x a.sc-card:hover .sc-card__title{text-decoration:underline;text-underline-offset:4px}
@media (hover:hover) and (pointer:fine){.sc-x a.sc-card:hover .sc-card__media img{transform:scale(1.04)}.sc-x a.sc-card:hover .sc-card__cap{transform:translateY(-8px)}}
.sc-x a.sc-card:focus-visible{outline:2px solid #151716;outline-offset:4px}
.sc-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:980px){.sc-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.sc-gallery{grid-template-columns:minmax(0,1fr)}}
.sc-gallery button{display:block;width:100%;padding:0;border:0;background:#E7E8E4;aspect-ratio:4/3;overflow:hidden;cursor:zoom-in}
.sc-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 400ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.sc-gallery button:hover img{transform:scale(1.04)}}
.sc-lb{position:fixed;inset:0;z-index:100001;background:rgba(21,23,22,0.95);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}
.sc-lb[hidden]{display:none}
.sc-lb img{max-width:min(1200px,100%);max-height:calc(100vh - 160px);object-fit:contain}
.sc-lb__bar{display:flex;gap:12px;align-items:center;color:#FFFFFF;font-size:16px}
.sc-lb button{min-width:48px;min-height:48px;background:transparent;border:2px solid #FFFFFF;color:#FFFFFF;font:600 16px var(--sc-font-body);cursor:pointer;padding:0 14px}
.sc-lb :focus-visible{outline:2px solid #C5E89A;outline-offset:2px}

/* ---------- 14. FAQ (details/summary) ---------- */
.sc-faq{border-bottom:1px solid #D6D8D4}
.sc-faq details{border-top:1px solid #D6D8D4}
.sc-faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:16px 0;cursor:pointer;list-style:none;font-family:var(--sc-font-heading);font-weight:700;font-size:clamp(19px,1.8vw,22px);line-height:1.3;color:#151716}
.sc-faq summary::-webkit-details-marker{display:none}
.sc-faq summary::after{content:"+";flex:none;font-weight:400;font-size:28px;line-height:1;transition:transform 200ms var(--ease-out)}
.sc-faq details[open] summary::after{transform:rotate(45deg)}
.sc-faq details p{padding:0 0 24px!important;font-size:18px;line-height:1.6;max-width:62ch}

/* ---------- 15. Get Started / Contact ---------- */
.sc-formpanel{background:#F4F4F2!important;padding:clamp(24px,4vw,48px)!important;box-sizing:border-box}
@media (min-width:981px){.sc-aside-sticky{position:sticky!important;top:100px;align-self:flex-start}}
.sc-next{display:flex;flex-direction:column}
.sc-next li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:16px}
.sc-next__mark{display:flex;flex-direction:column;align-items:center}
.sc-next__mark::before{content:"";width:14px;height:14px;background:#356B1E;margin-top:5px;flex:none}
.sc-next__mark::after{content:"";flex:1;width:2px;background:#D6D8D4;margin:6px 0}
.sc-next li:last-child .sc-next__mark::after{background:transparent}
.sc-next__txt{display:flex;flex-direction:column;gap:6px;padding-bottom:24px}
.sc-next__t{font-weight:700;font-size:18px;line-height:1.3}
.sc-next__d{font-size:16px;line-height:1.55;color:#4B514D}
.sc-callbox{border-top:1px solid #D6D8D4;padding-top:24px;display:flex;flex-direction:column;gap:8px}
.sc-callbox p{font-size:16px;line-height:1.4}
.sc-x a.sc-callbox__tel{font-weight:800;font-size:26px;color:#151716;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.sc-x a.sc-callbox__tel:hover{color:#356B1E;text-decoration:underline}
.sc-cd{display:flex;flex-direction:column}
.sc-cd__blk{display:flex;flex-direction:column;gap:4px;padding:24px 0;border-bottom:1px solid #D6D8D4}
.sc-cd__blk:first-child{padding-top:0}
.sc-cd__lbl{font-size:15px;font-weight:600;color:#4B514D;line-height:1.4}
.sc-cd__val{font-weight:700;font-size:19px;line-height:1.45;font-style:normal}
.sc-x a.sc-cd__tel{font-weight:800;font-size:26px;color:#151716;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.sc-x a.sc-cd__tel:hover{text-decoration:underline;color:#356B1E}
.sc-x a.sc-cd__link{font-size:18px;min-height:44px;display:inline-flex;align-items:center}
.sc-mapfig{margin:24px 0 0;display:flex;flex-direction:column;gap:12px}
.sc-mapfig img{border:1px solid #D6D8D4;background:#F4F4F2;width:100%}

/* Gravity Forms: design layout */
.gform_wrapper.gform-theme{margin:0!important}
.gform_wrapper .gform_heading .gform_title,.gform_wrapper .gform_heading .gform_description,.gform_wrapper .gf_progressbar_wrapper{display:none!important}
.gform_wrapper .gform_heading{margin:0!important;padding:0!important}
.sc-gfhead{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.sc-gfhead__title{font-family:var(--sc-font-heading);font-weight:800;font-size:clamp(26px,3vw,32px);line-height:1.15;margin:0;padding:0;color:#151716;outline:none}
.sc-gfhead__step{font-size:15px;font-weight:600;color:#151716}
.sc-gfbars{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sc-gfbars span{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#4B514D;font-weight:400}
.sc-gfbars span::before{content:"";height:6px;background:#E7E8E4;transition:background-color 250ms var(--ease-out)}
.sc-gfbars span.is-done::before,.sc-gfbars span.is-current::before{background:#356B1E}
.sc-gfbars span.is-current{color:#151716;font-weight:700}
.gform_wrapper .gform_required_legend{font-size:15px!important;color:#4B514D!important;margin:0 0 28px!important}
.gform_wrapper .gform_required_legend .gfield_required{color:#B42318}
.gform_wrapper .gform_fields{row-gap:28px!important;column-gap:24px!important}
.gform_wrapper .gfield_label,.gform_wrapper legend.gfield_label{font-size:16px!important;font-weight:700!important;color:#151716!important;margin-bottom:8px!important}
.gform_wrapper .gfield_required,.gform_wrapper .gfield_required_asterisk{color:#B42318!important;font-weight:600;font-size:16px!important;margin-left:4px}
.gform_wrapper .gfield:not(.gfield_contains_required):not(.gfield--type-consent):not(.gfield--type-honeypot) .gfield_label::after{content:" (optional)";font-weight:400;color:#4B514D}
.gform_wrapper .gfield_description{font-size:15px!important;color:#4B514D!important;line-height:1.4!important;padding-top:8px!important}
.gform_wrapper .gfield--type-fileupload .gfield_description,.gform_wrapper .gfield--type-textarea .gfield_description{padding-top:0!important;padding-bottom:8px!important}
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]),.gform_wrapper select,.gform_wrapper textarea{min-height:52px!important;padding:12px 14px!important;font-size:16px!important;line-height:1.4!important;border-radius:0!important;box-shadow:none!important}
.gform_wrapper textarea{min-height:140px!important}
.gform_wrapper .gfield--type-radio .gfield_radio{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
.gform_wrapper .gfield_radio .gchoice{display:flex;align-items:center;gap:12px;min-height:44px}
.gform_wrapper .gfield_radio input[type=radio],.gform_wrapper .gfield_checkbox input,.gform_wrapper .ginput_container_consent input{width:22px!important;height:22px!important;accent-color:#356B1E}
.gform_wrapper .gfield_radio label{font-size:17px!important;color:#151716!important;font-weight:400!important}
.gform_wrapper .gfield--type-consent .gfield_label{display:none!important}
.gform_wrapper .ginput_container_consent{display:flex;gap:12px;align-items:flex-start}
.gform_wrapper .ginput_container_consent label{font-size:16px!important;line-height:1.5!important;color:#151716!important;font-weight:400!important}
.gform_wrapper .gfield--type-consent .gfield_required{display:inline!important}
.gform_wrapper .gform_fileupload_rules,.gform_wrapper .gfield--type-fileupload .gform_fileupload_rules{display:none!important}
.gform_wrapper .gfield--type-fileupload .ginput_container{position:relative;border:2px dashed #747A76;background:#FFFFFF;padding:20px;min-height:64px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;box-sizing:border-box}
.gform_wrapper .gfield--type-fileupload .ginput_container:hover{border-color:#151716}
.gform_wrapper .gfield--type-fileupload .ginput_container::before{content:"Drop a file here or browse";font-weight:600;font-size:16px;color:#151716}
.gform_wrapper .gfield--type-fileupload .ginput_container::after{content:"Up to 10MB";font-size:14px;color:#4B514D}
.gform_wrapper .gfield--type-fileupload input[type=file]{position:absolute!important;inset:0;opacity:0;cursor:pointer;width:100%!important;height:100%!important}
.gform_wrapper .gfield--type-fileupload .ginput_container.sc-has-file{border-color:#2B6A1C;background:#EAF4E4}
.gform_wrapper .gfield--type-fileupload .ginput_container.sc-has-file::before{content:attr(data-file);color:#2B6A1C}
.sc-gfnote{font-size:14px!important;line-height:1.5;color:#4B514D;margin:28px 0 0!important}
.gform_wrapper .gform_page_footer,.gform_wrapper .gform_footer{border-top:1px solid #D6D8D4!important;margin-top:28px!important;padding:24px 0 0!important;display:flex!important;flex-wrap:wrap;gap:12px;align-items:center}
.gform_wrapper .gform_page_footer input[type=button],.gform_wrapper .gform_page_footer input[type=submit],.gform_wrapper .gform_footer input[type=submit],.gform_wrapper .gform_page_footer button,.gform_wrapper .gform_footer button{min-height:52px!important;padding:0 24px!important;font:600 17px/1 var(--sc-font-body)!important;border-radius:0!important;border:2px solid #356B1E!important;background:#356B1E!important;color:#FFFFFF!important;box-shadow:none!important;cursor:pointer;margin:0!important;width:auto!important;transition:background-color 200ms var(--ease-out),transform 120ms var(--ease-out)}
.gform_wrapper .gform_page_footer input[type=submit]:hover,.gform_wrapper .gform_page_footer input.gform_next_button:hover,.gform_wrapper .gform_footer input[type=submit]:hover{background:#285216!important;border-color:#285216!important}
.gform_wrapper .gform_page_footer input.gform_previous_button,.gform_wrapper .gform_page_footer .gform_previous_button{background:transparent!important;color:#151716!important;border-color:#151716!important;order:-1}
.gform_wrapper .gform_page_footer input.gform_previous_button:hover{background:#151716!important;color:#FFFFFF!important}
.gform_wrapper .gform_page_footer input:active,.gform_wrapper .gform_footer input:active{transform:scale(0.97)}
.gform_wrapper .gform_validation_errors{border:2px solid #B42318!important;background:#FDECEA!important;border-radius:0!important;padding:16px 20px!important;box-shadow:none!important;margin-bottom:28px!important}
.gform_wrapper .gform_validation_errors h2{font-size:18px!important;font-weight:700!important;color:#151716!important}
.gform_wrapper .validation_message{font-size:15px!important;font-weight:600!important;color:#B42318!important;background:none!important;border:0!important;padding:8px 0 0!important}
.gform_wrapper .gfield_error input,.gform_wrapper .gfield_error select,.gform_wrapper .gfield_error textarea{border-color:#B42318!important;box-shadow:inset 0 0 0 1px #B42318!important}
.gform_confirmation_message{border:2px solid #2B6A1C;background:#EAF4E4;padding:24px;font-size:18px;line-height:1.6;color:#151716}
.gform_confirmation_message h2{font-family:var(--sc-font-heading);font-weight:800;font-size:clamp(26px,3vw,32px);line-height:1.15;margin:0 0 8px;padding:0}
.sc-cf__more{font-size:17px!important;font-weight:600;line-height:1.4}

/* ---------- 16. 404 ---------- */
.et_pb_section.sc-404{min-height:100dvh;display:flex!important;flex-direction:column;justify-content:center;padding:96px 0 48px!important;background:#1A1D1B!important;box-sizing:border-box}
.sc-404 .et_pb_column{align-items:center!important;text-align:center}
.sc-404__copy{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;animation:sc404-fade 400ms var(--ease-out) 1400ms both}
@media (prefers-reduced-motion:reduce){.sc-404__copy{animation:none}}
.sc-404__h{font-family:var(--sc-font-heading);font-weight:800;font-size:clamp(36px,5.4vw,64px);line-height:1.05;letter-spacing:-0.012em;text-wrap:balance;color:#FFFFFF}
.sc-404__copy .sc-actions{justify-content:center;gap:16px;margin-top:8px}

/* ---------- 17. Divi clean-up ---------- */
.et_pb_code:has(.sc-hero),.et_pb_code:has(.sc-hero) .et_pb_code_inner{margin:0!important;padding:0!important}
.et_pb_section:has(>.et_pb_row .sc-hero){padding:0!important}
.et_pb_section:has(>.et_pb_row .sc-hero)>.et_pb_row{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
.et_pb_section:has(>.et_pb_row .sc-hero) .et_pb_column{margin:0!important}
.sc-sec .et_pb_text,.sc-pagehero .et_pb_text,.sc-cta .et_pb_text{margin-bottom:0!important}

/* ---------- 18. Layout helpers mirroring the design's flex values ---------- */
.sc-col{display:flex;flex-direction:column}
.sc-g-4064{gap:clamp(40px,5vw,64px)}.sc-g-4056{gap:clamp(40px,5vw,56px)}.sc-g-3248{gap:clamp(32px,4vw,48px)}.sc-g-4872{gap:clamp(48px,6vw,72px)}.sc-g-2432{gap:clamp(24px,3vw,32px)}.sc-g-3264{gap:clamp(32px,4vw,64px)}.sc-g-2464{gap:clamp(24px,4vw,64px)}
.sc-g-8{gap:8px}.sc-g-12{gap:12px}.sc-g-16{gap:16px}.sc-g-20{gap:20px}.sc-g-24{gap:24px}.sc-g-28{gap:28px}
.sc-row2{display:flex;flex-wrap:wrap;gap:clamp(32px,4vw,64px)}
.sc-row2--center{align-items:center}.sc-row2--top{align-items:flex-start}.sc-row2--stretch{align-items:stretch}
.sc-row2--rev{flex-wrap:wrap-reverse}
.sc-row2--g2464{gap:clamp(24px,4vw,64px)}
.sc-f11-280{flex:1 1 280px;min-width:0}.sc-f11-300{flex:1 1 300px;min-width:0}.sc-f11-320{flex:1 1 320px;min-width:0}.sc-f11-420{flex:1 1 420px;min-width:0}.sc-f11-480{flex:1 1 480px;min-width:0}
.sc-f21-360{flex:2 1 360px;min-width:0}.sc-f21-520{flex:2 1 520px;min-width:0}.sc-f21-560{flex:2 1 560px;min-width:0}.sc-f31-520{flex:3 1 520px;min-width:0}
.sc-minh-380{min-height:380px}.sc-minh-420{min-height:420px}
.sc-mw-900{max-width:900px}.sc-mw-1100{max-width:1100px}

/* 19. extras */
.sc-g-32{gap:32px}.sc-mw-48{max-width:48ch}.sc-w100{width:100%!important;height:auto}
.sc-pos-60{object-position:center 60%}.sc-pos-55{object-position:center 55%}
.sc-sci-txt{justify-content:center;padding:clamp(0px,2vw,24px) 0}
@media (max-width:767px){.sc-seals li{flex-basis:calc((100% - 32px) / 2)}.sc-seals{gap:32px}}

/* 20. wpautop guards (Divi text modules add <br> between inline and block tags) */
.sc-x br{display:none}
.sc-x p br,.sc-x address br,.sc-x .sc-keepbr br{display:inline}
.sc-x figcaption,.sc-x .sc-fig figcaption{line-height:1.4}
.sc-x :where(li){padding:0}

/* 21. footer p */
.sc-ft .sc-x :where(p){font-size:17px;line-height:1.55}
.sc-ft-brand p{font-size:16px!important;line-height:1.6}
.sc-ft-follow .sc-ft-soon,.sc-ft-legal p{font-size:15px!important;line-height:1.1}
.sc-ft-contact p{margin:0}
.sc-ft-follow p{margin:0}

/* 22. more */
.sc-vgrid{gap:40px 24px}
.sc-stategroup+.sc-stategroup{margin-top:clamp(48px,6vw,72px)}
.sc-x .sc-h2--xl{font-size:clamp(40px,5vw,60px);line-height:1.02}
.sc-docs .sc-arrow span:last-child{text-decoration:none}

/* 23. gs contact */
.et_pb_section.sc-gs{padding-top:clamp(40px,6vw,72px)!important}
.sc-cards--rel{gap:32px 24px}
.sc-cd__sub{font-size:17px!important}
.sc-formpanel>p:empty{display:none}
.sc-formpanel .gform_wrapper{margin:0!important}
.sc-mapfig figcaption{font-size:17px}

/* 24. gf fixes */
.gform_wrapper.gform-theme .sc-gfnote{font-size:14px!important;line-height:1.5!important;color:#4B514D!important;margin:28px 0 0!important;display:block}
.gform_wrapper.gform-theme .sc-gfnote a{color:#356B1E!important;text-decoration:underline!important}
.gform_wrapper.gform-theme .gfield_required{margin-left:4px!important;padding:0!important}
.gform_wrapper.gform-theme .gform_page_footer input,.gform_wrapper.gform-theme .gform_footer input{letter-spacing:0!important}


/* 25. GF: sr-only inside gform, consent asterisk */
body .sc-sr,body .gform_wrapper.gform-theme .sc-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.gform_wrapper .gfield--type-consent>legend.gfield_label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;margin:0!important}
.gform_wrapper .gfield--type-consent.gfield_contains_required .gfield_consent_label::after{content:" *";color:#B42318;white-space:pre}
.gform_wrapper .gfield--type-consent .ginput_container_consent{display:flex!important;gap:12px!important;align-items:flex-start!important}
.gform_wrapper .gfield--type-consent input[type=checkbox]{width:22px!important;height:22px!important;margin:1px 0 0!important;flex:none}
.gform_wrapper .gfield--type-consent .gfield_consent_label{font-size:16px!important;line-height:1.5!important;font-weight:400!important;color:#151716!important}


/* 26. Divi list padding reset + timeline year */
.sc-x .et_pb_text_inner ul,.sc-x .et_pb_text_inner ol{padding:0!important;margin:0;list-style:none}
.sc-timeline .sc-tl__year{font-size:clamp(36px,4vw,48px)!important;line-height:1!important;max-width:none!important;font-weight:800!important}


/* 27. column radius reset (Divi default preset) */
.et-l .et_pb_section .et_pb_column,.et-l .et_pb_section .et_pb_row{border-radius:0!important}


/* 28. vid place lh */
.sc-vid__place{line-height:normal!important}


/* 29. facts + card rhythm (match design line-heights) */
.sc-facts>div{padding:14px 0!important}
.sc-facts dt,.sc-facts dd{line-height:normal!important}
.sc-card__cap{padding-top:14px!important}
.sc-card__tag{line-height:normal!important;padding:4px 10px!important;margin-bottom:4px!important}
.sc-card__place{line-height:normal!important}


/* 30. sc-tag lh */
.sc-card .sc-tag{line-height:normal!important;padding:4px 10px!important;margin-bottom:4px!important}


/* 31. factpanel content-box (design flex math) */
.sc-factpanel{box-sizing:content-box!important;padding:8px 24px!important}


/* 32. contact details + directions button + GF label rhythm */
.sc-f21-340{flex:2 1 340px;min-width:0}
.sc-cd{margin-top:-16px}
.sc-cd__blk,.sc-cd__blk:first-child{padding:20px 0!important;gap:4px!important}
.sc-x h3.sc-cd__lbl,.sc-cd__lbl{font-family:var(--sc-font-body);font-size:15px!important;font-weight:600!important;color:#4B514D!important;line-height:normal!important;margin:0 0 2px!important;padding:0!important;letter-spacing:0}
.sc-x p.sc-cd__val{line-height:normal!important}
.sc-x p.sc-cd__sub{font-size:17px!important;line-height:normal!important}
.sc-cd .sc-small{font-size:14px!important;line-height:normal!important}
.sc-x a.sc-btn--dir{align-self:flex-start;min-height:52px;padding:0 20px;border-color:#151716}
.gform_wrapper.gform-theme .gfield_label,.gform_wrapper.gform-theme legend.gfield_label{line-height:normal!important}
.gform_wrapper.gform-theme .gform_required_legend{line-height:normal!important}
.gform_wrapper.gform-theme .gform_required_legend p{line-height:normal!important;margin:0}


/* 33. asterisk lh */
.gform_wrapper.gform-theme .gfield_label .gfield_required,.gform_wrapper.gform-theme .gfield_required_asterisk{line-height:normal!important;display:inline!important}


/* 34. textarea heights (design rows) */
#gform_wrapper_2 textarea{height:170px!important;min-height:160px!important;line-height:1.5!important}
#gform_wrapper_1 textarea{height:146px!important;min-height:140px!important;line-height:1.5!important}
.sc-formpanel .gform_wrapper .gform_heading{margin-top:4px!important}


/* 35. asterisk spacing */
.gform_wrapper.gform-theme .gfield_required,.gform_wrapper.gform-theme .gfield_required_asterisk,.gform_wrapper .gform_required_legend .gfield_required{margin-left:0!important;padding:0!important}


/* 36. 404 svg size (design: min(100%,640px,max(280px,1.5*100dvh-630px))) */
.sc-404 svg.sc404{display:block;width:min(100%,640px,max(280px,calc(1.5 * 100vh - 630px)));width:min(100%,640px,max(280px,calc(1.5 * 100dvh - 630px)));height:auto;overflow:visible;margin:0 auto}


/* 37. 404 code module width */
.sc-404 .et_pb_code{width:min(100%,640px,max(280px,calc(1.5 * 100vh - 630px)))!important;width:min(100%,640px,max(280px,calc(1.5 * 100dvh - 630px)))!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;align-self:center}
.sc-404 .et_pb_code_inner,.sc-404 svg.sc404{width:100%!important}


/* 38. wpautop empty p + GF step header line-heights */
.sc-x p:empty{display:none!important}
.sc-gfhead__step,.sc-gfbars,.sc-gfbars span{line-height:normal!important}


/* 39. gf description rhythm */
.gform_wrapper.gform-theme .gfield_description{margin:0!important;line-height:normal!important}


/* 40. radio grid gap */
.gform_wrapper.gform-theme .gfield--type-radio .gfield_radio{gap:8px 24px!important;column-gap:24px!important}


/* 41. keep empty bg-image column visible on phone (Divi hides empty columns) */
.sc-halfsplit .sc-halfsplit__media.et_pb_column_empty{display:block!important}


/* 42. keep 21:9 figures on phone (design) */
@media (max-width:767px){.sc-ar-219{aspect-ratio:21/9!important}}


/* 43. footer: no Divi flex row-gap between main and legal rows */
.et-l--footer .et_pb_section{row-gap:0!important}


/* 44. Get Started phone: top spacing (design uses 88px header allowance), radios stack */
@media (max-width:980px){.et_pb_section.sc-gs{padding-top:calc(24px + clamp(40px,6vw,72px))!important}}
@media (max-width:767px){.gform_wrapper.gform-theme .gfield--type-radio .gfield_radio{grid-template-columns:minmax(0,1fr)!important}}


/* 45. drawer below WP admin bar when logged in; phone underlined */
body.admin-bar .sc-drawer{top:32px}
@media (max-width:782px){body.admin-bar .sc-drawer{top:46px}}
.sc-drawer__foot a.sc-drawer__tel{text-decoration:underline!important;text-underline-offset:3px}


/* 46. footer social icons (Facebook, Instagram, Vimeo, YouTube) */
.sc-x ul.sc-social{display:flex!important;flex-wrap:wrap;gap:12px;margin:4px 0 0!important;padding:0!important;list-style:none}
.sc-social li{margin:0;padding:0}
.sc-x .sc-social a{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;color:#FFFFFF!important;border:1px solid rgba(255,255,255,0.28);text-decoration:none!important;transition:background-color 200ms var(--ease-out),border-color 200ms var(--ease-out),color 200ms var(--ease-out)}
.sc-social svg{width:22px;height:22px;display:block}
.sc-x .sc-social a:hover{background:#93C75C;border-color:#93C75C;color:#1A1D1B!important}
.sc-x .sc-social a:focus-visible{outline:2px solid #C5E89A;outline-offset:2px}
.sc-x .sc-social a:active{transform:scale(0.97)}
.sc-ft-follow br{display:none}
