/*
Theme Name: GreenGoRoofing
Theme URI: https://www.greengoroofing.com/
Description: A lightweight Divi 5 child theme for GreenGo Roofing.
Author: GreenGo Roofing
Template: Divi
Version: 1.0.0
Text Domain: greengoroofing
*/

/* ==========================================================================
   GreenGo Roofing — Divi module overrides
   Loaded after css/gg-base.css and css/gg-source.css.
   ========================================================================== */

/* ---------- Header: top bar ---------- */
#page-container .gg-topbar .et_pb_row { min-height: 34px; }
#page-container .gg-topbar p { margin: 0; }
#page-container .gg-topbar a { font-weight: 800; color: #e9f1e5; }

/* ---------- Header: logo + Divi Menu module ---------- */
#page-container .et-l--header { position: relative; z-index: 1000; }
#page-container .gg-header { position: relative; z-index: 100; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(20,32,25,.08); }
#page-container .gg-header.et_pb_sticky--top, #page-container .gg-header.et_pb_sticky { z-index: 1000; }
#page-container .gg-header .nav-wrap { display: block; min-height: 84px; }
#page-container .gg-menu { width: 100%; background: transparent; }
#page-container .gg-menu .et_pb_menu_inner_container { display: flex; align-items: center; gap: 28px; min-height: 84px; }
#page-container .gg-menu .et_pb_menu__logo-wrap { flex: 0 0 228px; margin: 0; }
#page-container .gg-menu .et_pb_menu__logo { width: 228px; margin: 0; }
#page-container .gg-menu .et_pb_menu__logo img { width: 228px; max-width: 228px; height: auto; }
#page-container .gg-menu .et_pb_menu__wrap { flex: 1 1 auto; justify-content: flex-end; margin: 0; }
#page-container .gg-menu .et_pb_menu__menu > nav > ul { display: flex; align-items: center; gap: 4px; }
#page-container .gg-menu .et-menu > li { padding: 0; }
#page-container .gg-menu .et-menu > li > a { display: inline-flex; align-items: center; padding: 13px 10px; color: #26362d; font-size: .88rem; font-weight: 700; white-space: nowrap; }
#page-container .gg-menu .et-menu > li > a:hover,
#page-container .gg-menu .et-menu > li.current-menu-item > a { color: #35a832; opacity: 1; }
#page-container .gg-menu .et-menu > li.menu-item-has-children > a { padding-right: 24px; }
#page-container .gg-menu .et-menu .menu-item-has-children > a:first-child::after { color: #35a832; right: 4px; top: 50%; transform: translateY(-50%); font-size: 15px; }
#page-container .gg-menu .et-menu > li.nav-cta > a { margin-left: 8px; min-height: 43px; padding: 0 18px; color: #fff; background: #35a832; border-radius: 999px; font-weight: 800; transition: transform .2s; }
#page-container .gg-menu .et-menu > li.nav-cta > a:hover { color: #fff; transform: translateY(-2px); }

/* Dropdowns */
#page-container .gg-menu .et-menu li ul.sub-menu { width: 210px; padding: 15px 18px; background: #fff; border-top: 3px solid #35a832; border-radius: 0 0 14px 14px; box-shadow: 0 24px 70px rgba(20,32,25,.14); }
#page-container .gg-menu .et-menu li ul.sub-menu li { padding: 0; width: 100%; }
#page-container .gg-menu .et-menu li ul.sub-menu a { width: 100%; padding: 6px 0; color: #4a554e; font-size: .86rem; font-weight: 500; line-height: 1.4; }
#page-container .gg-menu .et-menu li ul.sub-menu a:hover { color: #35a832; background: transparent; opacity: 1; }
/* Hover bridge: dropdowns open 13px (regular) / 32px (mega) below their nav item, and the
   cursor crossing that gap left the item, closing the menu. An invisible strip on the
   sub-menu fills the gap so hover is never lost. */
#page-container .gg-menu .et-menu > li > ul.sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -18px; height: 18px; background: transparent; display: block; }
#page-container .gg-menu .et-menu > li.mega-menu > ul.sub-menu::before { top: -36px; height: 36px; }

/* Mega menu (Roofing Services) */
/* Matches the source .mega-menu: 1160px, centred, intro panel + 3 columns */
#page-container .gg-menu .et_pb_menu_inner_container { position: relative; }
#page-container .gg-menu .et-menu li.mega-menu { position: static; }
#page-container .gg-menu .et-menu li.mega-menu > ul.sub-menu {
	top: 100%; left: 50% !important; right: auto !important; margin-left: calc(min(1160px, 100vw - 40px) / -2) !important;
	width: min(1160px, calc(100vw - 40px)); padding: 30px;
	display: grid; grid-template-columns: 1.25fr repeat(3, 1fr); gap: 28px; align-items: start;
	background: #fff; border-top: 3px solid #35a832; border-radius: 0 0 20px 20px; box-shadow: 0 24px 70px rgba(20,32,25,.14);
}
#page-container .gg-menu .et-menu li.mega-menu > ul.sub-menu > li { width: auto; margin: 0; padding: 0; }
#page-container .gg-menu .et-menu li.mega-menu > ul.sub-menu > li > a,
#page-container .gg-menu .et-menu li.mega-menu > ul.sub-menu > li > a:hover { display: block; width: auto; margin: 2px 0 10px; padding: 0 !important; color: #173c2a; background: transparent; font-size: .78rem; font-weight: 900 !important; letter-spacing: .11em; line-height: 1.4; text-transform: uppercase; border: 0 !important; opacity: 1; }
#page-container .gg-menu .et-menu li.mega-menu > ul.sub-menu > li > a::after { display: none !important; }
#page-container .gg-menu .et-menu li.mega-menu li ul.sub-menu { position: static; display: flex; flex-direction: column; gap: 7px; width: auto; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; background: transparent; }
#page-container .gg-menu .et-menu li.mega-menu li li { width: auto; padding: 0; }
#page-container .gg-menu .et-menu li.mega-menu li li a { display: block; width: auto; padding: 4px 0; color: #4a554e; font-size: .86rem; font-weight: 400; line-height: 1.4; }
#page-container .gg-menu .et-menu li.mega-menu li li a:hover { color: #35a832; background: transparent; opacity: 1; }

/* Intro panel (first column) */
#page-container .gg-menu .et-menu li.mega-menu > ul.sub-menu > li.mega-intro > a,
#page-container .gg-menu .et-menu li.mega-menu > ul.sub-menu > li.mega-intro > a:hover { display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 25px !important; color: #fff; background: #173c2a; border-radius: 14px; letter-spacing: normal; text-transform: none; opacity: 1; }
#page-container .gg-menu .et-menu li.mega-menu > ul.sub-menu > li.mega-intro { width: 100% !important; }
#page-container .gg-menu .et-menu li.mega-menu > ul.sub-menu > li.mega-intro > a { width: 100% !important; box-sizing: border-box; }
#page-container .gg-menu .mega-intro .mi-eyebrow { color: #5c7b65; font-size: .75rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
#page-container .gg-menu .mega-intro .mi-title { display: block; margin: 8px 0 35px; color: #fff; font-size: 1.45rem; font-weight: 700; line-height: 1.15; letter-spacing: -.01em; }
#page-container .gg-menu .mega-intro .mi-link { color: #9ada27; font-size: .88rem; font-weight: 800; }
#page-container .gg-menu .et_mobile_menu .mega-intro { display: none; }

/* Mobile menu */
#page-container .gg-menu .mobile_nav .mobile_menu_bar::before { color: #173c2a; }
#page-container .gg-menu .et_mobile_menu { border-top: 3px solid #35a832; }
#page-container .gg-menu .et_mobile_menu li a { color: #26362d; font-weight: 700; }
#page-container .gg-menu .et_mobile_menu li.nav-cta > a { color: #fff; background: #35a832; border-radius: 999px; text-align: center; }

/* ---------- Buttons (Divi Button module carrying the source .button classes) ---------- */
#page-container .gg-sec .et_pb_button_module_wrapper { display: inline-block; vertical-align: top; margin: 0 12px 0 0; }
#page-container .gg-sec .et_pb_button_module_wrapper:last-child { margin-right: 0; }
#page-container .gg-sec.hero .et_pb_button_module_wrapper { margin-top: 34px; }
#page-container .gg-sec.interior-hero .et_pb_button_module_wrapper { margin-top: 31px; }
#page-container .gg-sec .et_pb_button.button,
#page-container .gg-sec .et_pb_button.button:hover { display: inline-flex; align-items: center; min-height: 50px; padding: 0 22px !important; line-height: 1.2 !important; font-size: .88rem; font-weight: 850; letter-spacing: .005em; border-width: 1px; border-radius: 999px; }
#page-container .gg-sec .et_pb_button.button::after,
#page-container .gg-sec .et_pb_button.button::before { display: none !important; }

#page-container .gg-sec .button { white-space: nowrap; }

/* Home specials: fine-print note sits under the offer grid (column 3 of the Divi row) */
#page-container .gg-sec .specials-card > .et_pb_column:last-child { grid-column: 2; margin-top: -42px; }
#page-container .gg-sec .specials-card .offer-note { margin: 0; }
@media (max-width: 820px) {
	#page-container .gg-sec .specials-card > .et_pb_column:last-child { grid-column: 1; margin-top: 0; }
}

/* Columns whose own CSS is a grid of the original children: let Divi wrappers step aside */
#page-container .gg-sec .specials-note > .et_pb_module,
#page-container .gg-sec .specials-note .et_pb_code_inner,
#page-container .gg-sec .specials-note .et_pb_text_inner { display: contents; }

/* Source uses `.authority-content > p` (direct children only); the scoped port made it a
   descendant rule, so nested callout/detail paragraphs picked up 1.82 line-height. */
#page-container .authority-content .authority-callout p,
#page-container .authority-content .authority-details p { line-height: 1.55; }

/* Sticky "Local experience. Straight answers." rail (same pattern as fishbeinlawgroup.com).
   Divi's JS writes an inline overflow-y:hidden on #page-container, which turns it into a
   scroll container and silently disables position:sticky for everything inside it.
   overflow-x:clip still prevents sideways scroll without creating a scroll container. */
#page-container { overflow-y: visible !important; overflow-x: clip !important; }

/* ---------- Home hero overlays (replace the source's decorative divs) ---------- */
#page-container .gg-sec.hero { position: relative; overflow: hidden; }
#page-container .gg-sec.hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(7,27,18,.94) 0%, rgba(11,38,25,.84) 44%, rgba(10,28,20,.22) 76%, rgba(10,28,20,.1) 100%), linear-gradient(0deg, rgba(7,27,18,.55), transparent 42%); }
#page-container .gg-sec.hero::after { content: ""; position: absolute; z-index: 1; right: -110px; bottom: -170px; width: 360px; height: 360px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.04), 0 0 0 90px rgba(255,255,255,.025); }
#page-container .gg-sec.hero .hero-grid { position: relative; z-index: 2; }
@media (max-width: 820px) {
	#page-container .gg-sec.hero::before { background: linear-gradient(90deg, rgba(7,27,18,.94), rgba(7,27,18,.68)), linear-gradient(0deg, rgba(7,27,18,.65), transparent); }
}

/* ---------- FAQ (Divi Toggle modules) ---------- */
#page-container .gg-sec .faq-list { margin-top: 40px; border-top: 1px solid #d8ddcf; }
#page-container .gg-sec .et_pb_toggle.faq-item { margin: 0; padding: 0; background: transparent; border: 0; border-bottom: 1px solid #d8ddcf; }
#page-container .gg-sec .et_pb_toggle.faq-item .et_pb_toggle_title { padding: 22px 40px 22px 0; color: #142019; font-size: 1rem; font-weight: 850; line-height: 1.4; }
#page-container .gg-sec .et_pb_toggle.faq-item .et_pb_toggle_title::before { content: "+"; right: 0; margin-top: 0; top: 50%; transform: translateY(-50%); color: #35a832; font-family: inherit; font-size: 1.3rem; font-weight: 700; }
#page-container .gg-sec .et_pb_toggle_open.faq-item .et_pb_toggle_title::before { content: "\2212"; }
#page-container .gg-sec .et_pb_toggle.faq-item .et_pb_toggle_content { padding: 0 35px 22px 0; color: #657168; font-size: .84rem; }
#page-container .gg-sec .et_pb_toggle.faq-item .et_pb_toggle_content p { margin: 0; }

/* ---------- Estimate / contact form (Divi Contact Form module) ---------- */
#page-container .gg-sec .estimate-form { color: #142019; }
#page-container .gg-form .et_pb_contact_form { display: flex; flex-wrap: wrap; margin-left: -14px; }
#page-container .gg-form .et_pb_contact_field { width: 100%; float: none; margin: 0 0 16px; padding-left: 14px; }
#page-container .gg-form .et_pb_contact_field_half { width: 50%; }
@media (max-width: 540px) { #page-container .gg-form .et_pb_contact_field_half { width: 100%; } }
#page-container .gg-form .et_pb_contact_form_label { display: block; margin-bottom: 7px; color: #59675e; font-size: .68rem; font-weight: 850; letter-spacing: .03em; }
#page-container .gg-form .et_pb_contact_field input.input,
#page-container .gg-form .et_pb_contact_field select,
#page-container .gg-form .et_pb_contact_field textarea { width: 100%; padding: 12px 13px; color: #142019; background: #f7f8f4; border: 1px solid #d8ded2; border-radius: 9px; font-size: .88rem; }
#page-container .gg-form .et_pb_contact_field input.input:focus,
#page-container .gg-form .et_pb_contact_field select:focus,
#page-container .gg-form .et_pb_contact_field textarea:focus { border-color: #35a832; box-shadow: 0 0 0 3px rgba(53,168,50,.12); }
#page-container .gg-form .et_pb_contact_field textarea { min-height: 96px; }
#page-container .gg-form .et_contact_bottom_container { float: none; display: block; width: 100%; margin: 0; padding-left: 14px; text-align: center; }
#page-container .gg-form .et_pb_contact_submit,
#page-container .gg-form .et_pb_contact_submit:hover { width: 100%; min-height: 50px; margin: 0; padding: 0 22px !important; color: #123019; background: #9ada27; border: 0; border-radius: 999px; font-size: .88rem; font-weight: 850; line-height: 1.2 !important; box-shadow: 0 14px 30px rgba(154,218,39,.18); }
#page-container .gg-form .et_pb_contact_submit::after { display: none !important; }
#page-container .gg-form .et_pb_contact_submit:hover { background: #b3ec48; }
#page-container .gg-form .et-pb-contact-message { color: #173c2a; font-weight: 700; }
#page-container .gg-form-note p { margin: -3px 0 0; color: #8b948e; font-size: .6rem; text-align: center; }

/* ---------- Footer ---------- */
#page-container .site-footer .footer-brand .et_pb_image { display: block; }
#page-container .site-footer .footer-brand img { width: 245px; max-width: 100%; }
#page-container .site-footer .footer-brand .et_pb_module,
#page-container .site-footer .footer-brand .et_pb_text_inner { display: block; }
#page-container .site-footer .footer-col .et_pb_text_inner,
#page-container .site-footer .footer-col .et_pb_text_inner p { display: flex; flex-direction: column; gap: 10px; margin: 0; }
#page-container .site-footer .footer-col br { display: none; }
#page-container .site-footer .footer-brand p { line-height: 1.55; }
#page-container .site-footer .footer-bottom { display: flex; justify-content: space-between; gap: 12px; }
#page-container .site-footer .footer-bottom p,
#page-container .site-footer .footer-bottom span { margin: 0; color: #63776a; font-size: .65rem; }
@media (max-width: 540px) {
	#page-container .site-footer .footer-bottom { flex-direction: column; }
}

/* ==========================================================================
   Source sync 2026-10-18 — new sections from the updated source site
   ========================================================================== */

/* ---------- Achievements row: aside with Google rating panel (source styles.css v13) ---------- */
#page-container .achievements-aside{max-width:520px;display:grid;gap:14px}
#page-container .achievements-aside > p{margin:0;color:#66736b}
#page-container .google-rating-panel{min-height:108px;padding:12px 20px 12px 14px;display:flex;align-items:center;gap:18px;color:inherit;border:1px solid #e4d9ae;border-radius:16px;background:linear-gradient(135deg,#fffef8,#fbf7e8);box-shadow:0 14px 36px rgba(20,56,39,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
#page-container .google-rating-panel:hover{transform:translateY(-2px);border-color:#dcc36d;box-shadow:0 18px 42px rgba(20,56,39,.12)}
#page-container .google-rating-panel img{width:84px;height:84px;flex:0 0 auto;object-fit:contain}
#page-container .google-rating-copy{min-width:0;display:grid;gap:4px}
#page-container .google-rating-label{color:#7b6a37;font-size:.64rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
#page-container .google-rating-copy strong{display:flex;align-items:center;gap:10px;color:var(--forest);font-size:1.55rem;line-height:1}
#page-container .google-rating-stars{color:#f4a900;font-size:.96rem;letter-spacing:.04em}
#page-container .google-rating-link{color:#53635a;font-size:.75rem;font-weight:800}
@media (max-width:820px){#page-container .achievements-aside{max-width:none}}
@media (max-width:540px){
#page-container .google-rating-panel{min-height:96px;padding:10px 14px 10px 10px;gap:12px}
#page-container .google-rating-panel img{width:72px;height:72px}
#page-container .google-rating-copy strong{gap:8px;font-size:1.35rem}
#page-container .google-rating-stars{font-size:.82rem}
}

/* ---------- Home: service label strip + capabilities block (source styles.css v13) ---------- */
#page-container .service-capabilities{margin-top:34px;padding:34px;display:grid;grid-template-columns:.72fr 1.28fr;gap:50px;align-items:center;color:#fff;background:var(--forest);border-radius:var(--radius);box-shadow:0 18px 45px rgba(20,32,25,.12)}
#page-container .service-capabilities .eyebrow{color:var(--lime)}
#page-container .service-capabilities h3{max-width:440px;margin:0;font-size:clamp(1.7rem,2.5vw,2.7rem);line-height:1.02;letter-spacing:-.04em;text-wrap:balance;color:#fff}
#page-container .service-capabilities ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
#page-container .service-capabilities li{position:relative;padding:12px 12px 12px 38px;color:#e1ebe4;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:10px;font-size:.77rem;font-weight:760}
#page-container .service-capabilities li::before{content:"\2713";position:absolute;left:13px;top:11px;color:var(--lime);font-weight:950}
#page-container .home-sticky-service-row{position:sticky;top:108px;z-index:24;margin:-20px 0 50px;padding:12px 16px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;color:#fff;background:rgba(23,60,42,.96);border:1px solid rgba(255,255,255,.14);border-radius:14px;box-shadow:0 14px 34px rgba(20,32,25,.18);backdrop-filter:blur(14px)}
#page-container .home-sticky-service-row span{padding:7px 12px;color:#edf7ef;font-size:.71rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
#page-container .home-sticky-service-row span + span{border-left:1px solid rgba(255,255,255,.18)}
@media (max-width:820px){
#page-container .home-sticky-service-row{position:static;margin-top:0;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}
#page-container .home-sticky-service-row span + span{border-left:0}
#page-container .service-capabilities{grid-template-columns:1fr;gap:40px}
#page-container .service-capabilities ul{grid-template-columns:1fr}
}
@media (max-width:540px){#page-container .service-capabilities{padding:26px 20px}}

/* ---------- Interior: service-story authority variant (source interior.css v19) ---------- */
body:not(.home) #page-container .service-story{position:relative;padding-block:clamp(100px,11vw,155px)}
body:not(.home) #page-container .service-story .authority-layout{gap:clamp(72px,9vw,138px)}
body:not(.home) #page-container .service-story .authority-rail{top:142px}
body:not(.home) #page-container .service-story .authority-rail h2{font-size:clamp(2.7rem,4.6vw,5rem)}
body:not(.home) #page-container .service-story .authority-content h3{font-size:clamp(2.45rem,4vw,4.35rem)}
body:not(.home) #page-container .service-story .authority-content .et_pb_code_inner > p{max-width:760px}
body:not(.home) #page-container .service-story .authority-callout{margin-block:42px;padding:36px 38px}
body:not(.home) #page-container .service-story .authority-details{margin-top:44px}

/* Flat roof repair: tinted background on the service-details section (source sets it inline) */
#page-container .gg-sec.gg-detail-bg-flat{background-image:linear-gradient(rgba(246,249,247,.91),rgba(246,249,247,.91)),url('/wp-content/uploads/2026/10/flat-roof-repair-15.webp') !important;background-size:cover !important;background-position:center !important}

/* ---------- About page story sections (source interior.css) ---------- */
#page-container .about-photo-section{background:#f4f1e8}
#page-container .about-family-story{background:#fff}
#page-container .about-family-story .content-media img{min-height:0;aspect-ratio:4 / 3;object-position:center}
#page-container .about-quote{margin:30px 0 0;padding:24px 26px;border-left:4px solid var(--orange);background:#f4f1e8;color:var(--green);font-size:clamp(1.15rem,2vw,1.45rem);font-weight:800;line-height:1.35}
#page-container .about-eco-story{background:#e9efe6}
#page-container .about-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:38px}
#page-container .about-process-grid article{overflow:hidden;background:#fff;border:1px solid #d8dfd6;border-radius:14px;box-shadow:0 16px 40px rgba(20,58,40,.08)}
#page-container .about-process-grid img{width:100%;height:280px;object-fit:cover}
#page-container .about-process-grid span,#page-container .about-process-grid h3,#page-container .about-process-grid p{display:block;margin-inline:24px}
#page-container .about-process-grid span{margin-top:24px;color:var(--orange);font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
#page-container .about-process-grid h3{margin-top:9px;margin-bottom:10px;color:var(--green);font-size:1.35rem}
#page-container .about-process-grid p{margin-top:0;margin-bottom:28px;color:#657168}
#page-container .about-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:34px}
#page-container .about-photo-grid img{width:100%;height:330px;object-fit:cover;border-radius:12px}
@media (max-width:1000px){#page-container .about-process-grid{grid-template-columns:1fr 1fr}#page-container .about-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){#page-container .about-process-grid,#page-container .about-photo-grid{grid-template-columns:1fr}#page-container .about-process-grid img,#page-container .about-photo-grid img{height:320px}}

/* ---------- Landing pages (lp-*) & thank-you page (source interior.css) ---------- */
#page-container .lp-hero{position:relative;min-height:760px;display:grid;align-items:center;overflow:hidden;color:#fff;background-color:var(--forest-2)}
#page-container .lp-hero::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(6,27,18,.96) 0%,rgba(8,33,21,.88) 48%,rgba(8,29,20,.58) 100%)}
#page-container .lp-hero-grid{position:relative;z-index:1;padding-block:75px;display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:70px;align-items:center}
#page-container .lp-hero-copy{max-width:760px}
#page-container .lp-badge{display:inline-flex;margin-bottom:24px;padding:8px 12px;color:#fff;background:rgba(242,140,24,.92);border-radius:999px;font-size:.67rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
#page-container .lp-hero h1{margin:0;font-size:clamp(3.1rem,6vw,6.2rem);line-height:.94;letter-spacing:-.06em;text-wrap:balance;color:#fff}
#page-container .lp-hero-copy .et_pb_text p:not(.eyebrow){max-width:690px;margin:25px 0 0;color:#dce8df;font-size:1.05rem}
#page-container .gg-sec.lp-hero .lp-hero-copy .et_pb_button_module_wrapper{margin-top:34px}
#page-container .lp-hero-copy ul{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
#page-container .lp-hero-copy ul li{padding:8px 11px;color:#eaf1eb;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:.66rem;font-weight:800}
#page-container .lp-form{padding:30px;color:var(--ink);background:rgba(255,255,255,.97);border-radius:22px;box-shadow:0 26px 70px rgba(0,0,0,.28)}
#page-container .lp-form .eyebrow{margin-bottom:7px;color:var(--orange)}
#page-container .lp-form h2{margin:0 0 8px;color:var(--forest);font-size:2rem;line-height:1;letter-spacing:-.04em}
#page-container .lp-form .et_pb_text p:not(.eyebrow){margin:0 0 20px;color:#6b776f;font-size:.74rem}
#page-container .lp-form small{display:block;margin-top:10px;color:#8b948e;font-size:.56rem;text-align:center}
#page-container .lp-proof{color:#fff;background:var(--forest)}
#page-container .lp-proof .shell{min-height:118px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}
#page-container .lp-proof .gg-items div{min-height:58px;padding:0 24px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid rgba(255,255,255,.15)}
#page-container .lp-proof .gg-items .et_pb_module:last-child div{border-right:1px solid rgba(255,255,255,.15)}
#page-container .lp-proof strong{color:var(--lime);font-size:1.55rem;line-height:1}
#page-container .lp-proof span{margin-top:6px;color:#d4e0d7;font-size:.66rem;font-weight:800}
#page-container .lp-benefits-section{background:#f6f8f3}
#page-container .lp-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
#page-container .lp-benefit{min-height:260px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:18px;transition:transform .25s ease,box-shadow .25s ease}
#page-container .lp-benefit:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(20,50,36,.09)}
#page-container .lp-benefit>span{color:var(--orange);font-size:.67rem;font-weight:950;letter-spacing:.12em}
#page-container .lp-benefit h3{margin:54px 0 10px;color:var(--forest);font-size:1.35rem;line-height:1.08}
#page-container .lp-benefit p{margin:0;color:#68756c;font-size:.76rem}
#page-container .lp-systems-section{background:#fff}
#page-container .lp-system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
#page-container .lp-system{position:relative;min-height:490px;overflow:hidden;color:#fff;border-radius:20px}
#page-container .lp-system>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
#page-container .lp-system:hover>img{transform:scale(1.045)}
#page-container .lp-system>div{position:absolute;inset:0;z-index:1;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(0deg,rgba(6,26,17,.96),rgba(6,26,17,.55) 48%,rgba(6,26,17,.05))}
#page-container .lp-system span{color:var(--lime);font-size:.63rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
#page-container .lp-system h3{margin:7px 0 8px;font-size:2rem;line-height:1;letter-spacing:-.04em;color:#fff}
#page-container .lp-system p{margin:0;color:#dce7de;font-size:.77rem}
#page-container .lp-process-section{color:#fff;background:var(--forest-2)}
#page-container .lp-process-section .page-heading h2{color:#fff}
#page-container .lp-process-section .page-heading p:not(.eyebrow){color:#b9c8be}
#page-container .lp-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
#page-container .lp-process-grid article{min-height:220px;padding:25px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:16px}
#page-container .lp-process-grid article>span{display:grid;width:42px;height:42px;place-items:center;color:var(--forest);background:var(--lime);border-radius:50%;font-size:.66rem;font-weight:950}
#page-container .lp-process-grid h3{margin:28px 0 8px;color:#fff;font-size:1.2rem}
#page-container .lp-process-grid p{margin:0;color:#b9c8be;font-size:.74rem}
#page-container .lp-final-cta{padding:70px 0;color:#fff;background:linear-gradient(110deg,#19452e,#2c7b45)}
#page-container .lp-final-cta .shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:55px;align-items:center}
#page-container .lp-final-cta h2{margin:6px 0 10px;color:#fff;font-size:clamp(2.2rem,4vw,4rem);line-height:1;letter-spacing:-.05em}
#page-container .lp-final-cta p:not(.eyebrow){max-width:760px;margin:0;color:#d8e5dc}
#page-container .lp-final-cta .shell>.et_pb_column:last-child{display:flex;flex-direction:column;align-items:center;gap:13px}
#page-container .gg-sec.lp-final-cta .et_pb_button_module_wrapper{margin:0}
#page-container .lp-final-cta .lp-cta-phone a{color:#fff;font-size:.8rem;font-weight:900}
#page-container .thank-you-hero{min-height:620px;display:grid;place-items:center;padding:80px 0;color:#fff;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(154,218,39,.16),transparent 35%),linear-gradient(130deg,#0d2b1d,#1b5735)}
#page-container .thank-you-hero .shell{max-width:900px}
#page-container .thank-you-mark{width:82px;height:82px;display:grid;place-items:center;margin:0 auto 28px;color:var(--forest);background:var(--lime);border-radius:50%;font-size:2.8rem;font-weight:950;box-shadow:0 0 0 14px rgba(154,218,39,.1)}
#page-container .thank-you-hero h1{margin:0;font-size:clamp(3.2rem,7vw,6.7rem);line-height:.94;letter-spacing:-.06em;color:#fff}
#page-container .thank-you-hero .et_pb_text p:not(.eyebrow){max-width:680px;margin:25px auto 0;color:#d8e5dc;font-size:1.05rem}
#page-container .gg-sec.thank-you-hero .et_pb_button_module_wrapper{margin-top:34px}
#page-container .thank-you-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
#page-container .thank-you-grid a{min-height:230px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:18px;transition:transform .25s ease,background-color .25s ease,color .25s ease}
#page-container .thank-you-grid a:hover{transform:translateY(-5px);color:#fff;background:var(--forest)}
#page-container .thank-you-grid span{color:var(--orange);font-size:.64rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
#page-container .thank-you-grid h3{margin:45px 0 9px;color:var(--forest);font-size:1.55rem;transition:color .25s ease}
#page-container .thank-you-grid a:hover h3{color:#fff}
#page-container .thank-you-grid p{margin:0;color:#6b776f;font-size:.74rem;transition:color .25s ease}
#page-container .thank-you-grid a:hover p{color:#d8e5dc}
@media (max-width:900px){
#page-container .lp-hero-grid{grid-template-columns:1fr}
#page-container .lp-benefit-grid,#page-container .thank-you-grid{grid-template-columns:1fr 1fr}
#page-container .lp-system-grid{grid-template-columns:1fr}
#page-container .lp-system{min-height:420px}
#page-container .lp-process-grid{grid-template-columns:1fr 1fr}
#page-container .lp-final-cta .shell{grid-template-columns:1fr}
}
@media (max-width:560px){
#page-container .lp-hero{min-height:auto}
#page-container .lp-hero-grid{padding-block:56px}
#page-container .lp-hero h1{font-size:clamp(2.8rem,13vw,4.5rem)}
#page-container .lp-form{padding:24px 20px}
#page-container .lp-proof .shell{grid-template-columns:1fr 1fr;padding-block:18px}
#page-container .lp-proof .gg-items div,#page-container .lp-proof .gg-items .et_pb_module:last-child div{min-height:76px;border:0}
#page-container .lp-benefit-grid,#page-container .lp-process-grid,#page-container .thank-you-grid{grid-template-columns:1fr}
}
