.elementor-79 .elementor-element.elementor-element-def386a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-def386a:not(.elementor-motion-effects-element-type-background), .elementor-79 .elementor-element.elementor-element-def386a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://grantnorthmasonry.com/wp-content/uploads/2026/10/gnm-work-brick-facade.jpg");background-position:center center;background-size:cover;}.elementor-79 .elementor-element.elementor-element-5a2ca16{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-79 .elementor-element.elementor-element-61b2d33{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-79 .elementor-element.elementor-element-eb9c71c .elementor-button-content-wrapper{flex-direction:row;}.elementor-79 .elementor-element.elementor-element-eb9c71c .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-79 .elementor-element.elementor-element-7730e12 .elementor-button-content-wrapper{flex-direction:row;}.elementor-79 .elementor-element.elementor-element-7730e12 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-79 .elementor-element.elementor-element-adf4d49{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-0968c1e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-908f5b6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-ddc0c78{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-79 .elementor-element.elementor-element-e29b8ef{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-583fb19{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-9a8f569{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-9e85cde{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-5c8ca7d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-7b1280d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-bf1b683{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-f9c1f9e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-d7db292{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-e51a60f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-00c7d3f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-3ea411a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-4b90537{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-1bb1ab4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-028e16f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-d840521{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-4a2d5e4 .elementor-button-content-wrapper{flex-direction:row;}.elementor-79 .elementor-element.elementor-element-4a2d5e4 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-79 .elementor-element.elementor-element-ea880f3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-ea880f3:not(.elementor-motion-effects-element-type-background), .elementor-79 .elementor-element.elementor-element-ea880f3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://grantnorthmasonry.com/wp-content/uploads/2026/10/gnm-cta.jpg");background-position:center center;background-size:cover;}.elementor-79 .elementor-element.elementor-element-d847301{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-21b05a8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-7e0acce{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-79 .elementor-element.elementor-element-a8f8c34 .elementor-button-content-wrapper{flex-direction:row;}.elementor-79 .elementor-element.elementor-element-a8f8c34 .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-79 .elementor-element.elementor-element-4e3348a .elementor-button-content-wrapper{flex-direction:row;}.elementor-79 .elementor-element.elementor-element-4e3348a .elementor-button .elementor-button-content-wrapper{gap:10px;}:root{--page-title-display:none;}/* Start custom CSS */:root{--green:#078301;--green-dk:#056201;--green-lt:#e7f3e6;--navy:#1A202C;--navy-2:#252d3d;--stone:#f4f3f0;--line:#e3e1dc;--fg:#2b2e33;--muted:#5d6168;--on-navy:#f2f3f5;--on-navy-muted:#a9b0bd;--fhead:"Heebo","Arial Narrow",Arial,sans-serif;--fbody:"Inter",system-ui,sans-serif;--r:6px;
--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .10 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
--mottle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.3 0 0 0 0 0.25 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
--bond:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='44'%3E%3Cpath d='M0 .5H120M0 22.5H120M.5 0V22M60.5 0V22M30.5 22V44M90.5 22V44' fill='none' stroke='rgba(60,45,30,.085)' stroke-width='1'/%3E%3C/svg%3E");
--grain-navy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
--bond-navy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='44'%3E%3Cpath d='M0 .5H120M0 22.5H120M.5 0V22M60.5 0V22M30.5 22V44M90.5 22V44' fill='none' stroke='rgba(255,255,255,.045)' stroke-width='1'/%3E%3C/svg%3E");
}

.gn-wrap{max-width:1180px;margin:0 auto!important;width:100%;padding-left:clamp(16px,4vw,32px)!important;padding-right:clamp(16px,4vw,32px)!important}
.gn-btn{width:auto!important}
.gn-btn .elementor-button{display:inline-flex;align-items:center;font:600 16px/1 var(--fbody)!important;padding:16px 24px!important;border-radius:var(--r)!important;border:2px solid transparent!important;transition:background .25s,transform .25s,border-color .25s,box-shadow .25s!important;letter-spacing:0}
.gn-btn .elementor-button-content-wrapper{align-items:center;gap:10px}
.gn-btn .elementor-button-icon{margin:0!important}
.gn-ia .elementor-button-content-wrapper{flex-direction:row-reverse!important}
.gn-btn .elementor-button-icon svg{fill:currentColor!important;width:16px;height:16px;transition:transform .25s}
.gn-btn .elementor-button:hover{transform:translateY(-2px)}
.gn-btn .elementor-button:hover .elementor-button-icon svg{transform:translateX(3px)}
.gn-g .elementor-button{background:var(--green)!important;color:#fff!important}
.gn-g .elementor-button:hover{background:var(--green-dk)!important;box-shadow:0 12px 24px -12px rgba(7,131,1,.7)}
.gn-o .elementor-button{background:transparent!important;border-color:rgba(255,255,255,.55)!important;color:#fff!important}
.gn-o .elementor-button:hover{border-color:#fff!important;background:rgba(255,255,255,.08)!important}
.gn-w .elementor-button{background:#fff!important;color:#065b01!important}
.gn-w .elementor-button:hover{background:#f0f7ef!important}
.elementor-element.animated{animation-timing-function:cubic-bezier(.22,1,.36,1)!important}

body{background:var(--grain),var(--mottle),#fff}
html{scroll-behavior:smooth}
.gn-sec{padding:clamp(64px,9vw,112px) 0!important;position:relative}
#about,#services,#work,#areas,#faq,#contact{scroll-margin-top:80px}
.gn-eyebrow .elementor-heading-title{font:600 12.5px/1 var(--fbody)!important;text-transform:uppercase;letter-spacing:.14em;color:var(--green)!important;display:flex;align-items:center;gap:10px}
.gn-eyebrow .elementor-heading-title:before{content:"";width:28px;height:10px;flex:none;background:linear-gradient(var(--green),var(--green)) 0 0/12px 4px no-repeat,linear-gradient(var(--green),var(--green)) 14px 0/14px 4px no-repeat,linear-gradient(var(--green),var(--green)) 6px 6px/14px 4px no-repeat;opacity:.9}
.gn-eb-hero .elementor-heading-title,.gn-eb-l .elementor-heading-title{color:#8fdc89!important}
.gn-eb-hero .elementor-heading-title:before,.gn-eb-l .elementor-heading-title:before{filter:brightness(1.6)}
.gn-h2 .elementor-heading-title{font:900 clamp(2rem,4.2vw,3rem)/1.08 var(--fhead)!important;color:var(--fg)!important;letter-spacing:-.01em;margin-top:14px!important;text-wrap:balance}
.gn-h2-w .elementor-heading-title{color:#fff!important}
.gn-lede p{color:var(--muted)!important;max-width:62ch;margin:16px 0 0!important;font:400 16.8px/1.65 var(--fbody)!important}
.gn-lede a{color:inherit!important;text-decoration:none}
.gn-lede-n p{color:var(--on-navy-muted)!important}
.gn-p p{color:var(--fg)!important;font:400 16px/1.65 var(--fbody)!important;margin:0!important}
.gn-p p+p{margin-top:16px!important}
/* hero */
.gn-hero{position:relative;overflow:hidden;background-color:var(--navy)!important;background-position:60% 50%!important}
.gn-hero:before{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(100deg,rgba(16,20,28,.94) 0%,rgba(16,20,28,.82) 45%,rgba(16,20,28,.45) 100%)!important;opacity:1!important;z-index:1}
.gn-hero-in{position:relative;z-index:2;padding-top:clamp(72px,11vw,136px)!important;padding-bottom:clamp(56px,8vw,96px)!important}
.gn-h1 .elementor-heading-title{font:900 clamp(2.6rem,6.4vw,5rem)/1.08 var(--fhead)!important;color:#fff!important;max-width:14ch;letter-spacing:-.02em;margin-top:18px!important}
.gn-h1 em{font-style:normal;color:#6fd068}
.gn-sub p{font:400 clamp(1.05rem,1.6vw,1.2rem)/1.65 var(--fbody)!important;color:#d5d9e0!important;max-width:54ch;margin:22px 0 0!important}
.gn-ctas{gap:14px;flex-wrap:wrap!important;margin-top:34px!important;width:auto!important}
.gn-badges{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:clamp(48px,7vw,76px)!important;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);overflow:hidden;max-width:880px}
.gn-badge{background:rgba(16,20,28,.72);padding:18px 20px!important;backdrop-filter:blur(4px);transition:background .3s}
.gn-badge:hover{background:rgba(7,131,1,.35)}
.gn-badge p{margin:0!important}
.gn-badge b{display:block;font:900 27px/1 var(--fhead);color:#fff}
.gn-badge span{font:400 13.4px/1.65 var(--fbody);color:#bfc5cf}
/* about */
.gn-about-in{display:grid!important;grid-template-columns:1fr 1.05fr;gap:clamp(36px,6vw,80px);align-items:center}
.gn-ab-vis{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--stone)}
.gn-ab-img,.gn-ab-img img{width:100%!important;height:100%!important}
.gn-ab-img img{object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.gn-ab-vis:hover .gn-ab-img img{transform:scale(1.04)}
.gn-stamp{position:absolute!important;right:-1px;top:28px;width:auto!important;background:var(--green);color:#fff;padding:18px 22px;border-radius:var(--r) 0 0 var(--r);z-index:2}
.gn-stamp p{margin:0!important}
.gn-stamp b{font:900 41.6px/1 var(--fhead);display:block}
.gn-stamp span{font:400 12.8px/1.65 var(--fbody);letter-spacing:.06em}
.gn-ab-copy .gn-lede{margin-bottom:6px}
.gn-facts .elementor-icon-list-items{display:grid!important;grid-template-columns:1fr 1fr;gap:14px 26px;margin-top:28px!important}
.gn-facts .elementor-icon-list-item{padding:0!important;margin:0!important;align-items:flex-start!important}
.gn-facts .elementor-icon-list-item:after{display:none!important}
.gn-facts .elementor-icon-list-icon{margin-top:4px}
.gn-facts .elementor-icon-list-icon i,.gn-facts .elementor-icon-list-icon svg{color:var(--green)!important;fill:var(--green)!important;font-size:14px}
.gn-facts .elementor-icon-list-text{font:400 15.4px/1.5 var(--fbody)!important;color:var(--fg)!important;padding-left:10px!important}
.gn-sig{margin-top:30px!important}
/* services */
.gn-svc{background:var(--grain),var(--bond),var(--mottle),var(--stone)!important}
.gn-svc-head{justify-content:space-between!important;align-items:flex-end!important;gap:24px;flex-wrap:wrap!important}
.gn-svc-ht{width:auto!important;flex:1 1 400px}
.gn-feat{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:48px!important}
.gn-fcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s}
.gn-fcard:hover{transform:translateY(-6px);box-shadow:0 22px 44px -22px rgba(16,20,28,.4);border-color:var(--green)}
.gn-ph{overflow:hidden;aspect-ratio:4/3}
.gn-ph img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.gn-fcard:hover .gn-ph img{transform:scale(1.07)}
.gn-fin{padding:22px!important;gap:10px;flex:1 1 auto}
.gn-fh3 .elementor-heading-title{font:800 20.8px/1.08 var(--fhead)!important;color:var(--fg)!important}
.gn-fp p{color:var(--muted)!important;font:400 14.9px/1.65 var(--fbody)!important;margin:0!important}
.gn-more{margin-top:auto!important;width:auto!important}
.gn-more .elementor-button{background:none!important;padding:8px 0 0!important;color:var(--green)!important;font:600 14.4px/1 var(--fbody)!important}
.gn-more .elementor-button-content-wrapper{flex-direction:row-reverse!important;gap:6px;transition:gap .25s}
.gn-more .elementor-button:hover .elementor-button-content-wrapper{gap:12px}
.gn-more .elementor-button-icon svg{fill:var(--green)!important;width:13px}
.gn-sublabel .elementor-heading-title{font:800 17.6px/1 var(--fhead)!important;color:var(--fg)!important;margin-top:56px!important}
.gn-sublist{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:20px!important;border-top:1px solid var(--line)}
.gn-sitem{gap:14px;padding:20px 18px 20px 0!important;border-bottom:1px solid var(--line);align-items:flex-start!important;transition:background .3s,padding .3s}
.gn-sitem:hover{padding-left:8px!important;background:rgba(255,255,255,.55)}
.gn-n{width:auto!important;min-width:22px}
.gn-n .elementor-heading-title{font:800 12.8px/1.9 var(--fhead)!important;color:var(--green)!important}
.gn-si-t{width:auto!important;flex:1}
.gn-h4 .elementor-heading-title{font:800 16.8px/1.2 var(--fhead)!important;color:var(--fg)!important}
.gn-sip p{font:400 14px/1.6 var(--fbody)!important;color:var(--muted)!important;margin:4px 0 0!important}
/* why */
.gn-why{background:var(--grain-navy),var(--bond-navy),var(--navy)!important;overflow:hidden}
.gn-why-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.1);margin-top:52px!important;border-radius:var(--r);overflow:hidden}
.gn-why-grid>.gn-w{background:var(--navy);padding:30px 26px!important;transition:background .3s}
.gn-why-grid>.gn-w:hover{background:var(--navy-2)}
.gn-why-grid>.gn-w .elementor-icon-box-wrapper{text-align:left!important;display:block!important}
.gn-why-grid>.gn-w .elementor-icon-box-icon{margin:0!important;display:block}
.gn-why-grid>.gn-w .elementor-icon{color:#7fd17a!important;font-size:28px!important;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.gn-why-grid>.gn-w .elementor-icon svg{fill:#7fd17a!important;width:30px;height:30px}
.gn-why-grid>.gn-w:hover .elementor-icon{transform:translateY(-4px) scale(1.08)}
.gn-why-grid>.gn-w .elementor-icon-box-title{font:800 18.4px/1.08 var(--fhead)!important;color:#fff!important;margin:18px 0 0!important}
.gn-why-grid>.gn-w .elementor-icon-box-description{color:var(--on-navy-muted)!important;font:400 14.4px/1.65 var(--fbody)!important;margin:8px 0 0!important}
/* work */
.gn-gal{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px;gap:14px;margin-top:48px!important}
.gn-gal>.gn-g{position:relative;border-radius:var(--r);overflow:hidden;background:#5a3526;cursor:zoom-in}
.gn-gal>.gn-g.gn-wide{grid-column:span 2}
.gn-gimg,.gn-gimg a,.gn-gimg img{width:100%!important;height:100%!important;display:block}
.gn-gimg img{object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.gn-gal>.gn-g:hover .gn-gimg img{transform:scale(1.06)}
.gn-cap{position:absolute!important;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(12,15,21,.88));pointer-events:none;z-index:2;transition:padding .35s}
.gn-gal>.gn-g:hover .gn-cap{padding-bottom:20px}
.gn-cap p{margin:0!important;color:#fff;font:700 15.7px/1.25 var(--fhead)}
.gn-cap small{display:block;font:500 11.5px/1.4 var(--fbody);color:#c7ccd4;letter-spacing:.04em}
/* process */
.gn-proc{background:var(--grain),var(--bond),var(--mottle),var(--stone)!important}
.gn-steps{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:56px!important;position:relative}
.gn-steps:before{content:"";position:absolute;top:27px;left:28px;right:28px;height:2px;background:repeating-linear-gradient(90deg,var(--green) 0 18px,transparent 18px 24px);opacity:.45}
.gn-step{position:relative}
.gn-dot{width:auto!important}
.gn-dot .elementor-heading-title{width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff!important;display:grid;place-items:center;font:900 20.8px/1 var(--fhead)!important;box-shadow:0 0 0 8px var(--stone);position:relative;transition:transform .4s cubic-bezier(.22,1,.36,1),background .3s}
.gn-step:hover .gn-dot .elementor-heading-title{transform:scale(1.1);background:var(--green-dk)}
.gn-sh3 .elementor-heading-title{font:800 18.4px/1.08 var(--fhead)!important;color:var(--fg)!important;margin-top:22px!important}
.gn-sp p{color:var(--muted)!important;font:400 14.7px/1.65 var(--fbody)!important;margin:8px 0 0!important}
/* areas */
.gn-areas-in{display:grid!important;grid-template-columns:1fr 1.15fr;gap:clamp(36px,6vw,72px);align-items:center}
.gn-radius{max-width:460px;width:100%!important;justify-self:center}
.gn-area-img img{width:100%!important;animation:gnSpinIn 1s both}
.gn-chips p{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0!important}
.gn-chip{border:1px solid var(--line);background:#fff;padding:9px 14px;border-radius:40px;font:500 14.4px/1.2 var(--fbody);color:var(--fg);transition:border-color .25s,color .25s,transform .25s}
.gn-chip:hover{border-color:var(--green);color:var(--green);transform:translateY(-2px)}
.gn-chip.hq{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}
/* reviews */
.gn-rev{background:var(--grain),var(--bond),var(--mottle),var(--stone)!important}
.gn-revg{display:grid!important;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:48px!important;align-items:stretch}
.gn-quote{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(28px,4vw,44px)!important;transition:box-shadow .35s}
.gn-quote:hover{box-shadow:0 24px 50px -30px rgba(16,20,28,.35)}
.gn-mark .elementor-heading-title{font:900 80px/.6 var(--fhead)!important;color:var(--green)!important;opacity:.25;display:block;height:36px}
.gn-stars p{color:#e8a317;letter-spacing:3px;font-size:16.8px;margin:0!important}
.gn-bq p{margin:14px 0 0!important;font:400 clamp(1.1rem,1.8vw,1.3rem)/1.55 var(--fbody)!important;color:var(--fg)!important}
.gn-qf p{margin:22px 0 0!important;font:400 14.7px/1.5 var(--fbody)}
.gn-qf b{display:block;font:700 16.3px/1.4 var(--fhead);color:var(--fg)}
.gn-qf span{color:var(--muted)}
.gn-gbox{background:var(--navy);border-radius:var(--r);padding:clamp(28px,4vw,40px)!important;justify-content:space-between!important;gap:24px}
.gn-gh3 .elementor-heading-title{font:900 25.6px/1.08 var(--fhead)!important;color:#fff!important}
.gn-gp p{color:var(--on-navy-muted)!important;font:400 15.2px/1.65 var(--fbody)!important;margin:10px 0 0!important}
.gn-gb-row{gap:12px;flex-wrap:wrap!important}
/* faq */
.gn-faq-in{display:grid!important;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,72px);align-items:start}
.gn-acc .elementor-accordion-item{border:0!important;border-bottom:1px solid var(--line)!important}
.gn-acc .elementor-accordion-item:first-child{border-top:1px solid var(--line)!important}
.gn-acc .elementor-tab-title{padding:22px 0!important;border:0!important;background:none!important}
.gn-acc .elementor-accordion-title,.gn-acc .elementor-tab-title a{font:800 17.3px/1.35 var(--fhead)!important;color:var(--fg)!important;text-decoration:none!important;transition:color .25s}
.gn-acc .elementor-tab-title:hover .elementor-accordion-title,.gn-acc .elementor-tab-title.elementor-active .elementor-accordion-title{color:var(--green)!important}
.gn-acc .elementor-accordion-icon i,.gn-acc .elementor-accordion-icon svg{color:var(--green)!important;fill:var(--green)!important;font-size:14px;transition:transform .3s}
.gn-acc .elementor-accordion-icon-opened i,.gn-acc .elementor-accordion-icon-opened svg{transform:rotate(45deg)}
.gn-acc .elementor-tab-content{padding:0 0 22px!important;border:0!important;color:var(--muted)!important;font:400 16px/1.65 var(--fbody)!important;max-width:64ch}
.gn-acc .elementor-tab-content p{margin:0!important}
/* cta */
.gn-cta{background-color:var(--green-dk)!important;overflow:hidden}
.gn-cta:before{content:""!important;position:absolute!important;inset:0!important;background:var(--grain-navy),rgba(5,98,1,.88)!important;opacity:1!important;z-index:1}
.gn-cta-in{position:relative;z-index:2;justify-content:space-between!important;align-items:center!important;gap:32px;flex-wrap:wrap!important}
.gn-cta-t{width:auto!important;flex:1 1 420px}
.gn-cta-h .elementor-heading-title{font:900 clamp(2rem,4.4vw,3.2rem)/1.08 var(--fhead)!important;color:#fff!important;max-width:16ch}
.gn-cta-p p{color:#e3f3e1!important;max-width:52ch;margin:14px 0 0!important;font:400 16px/1.65 var(--fbody)!important}
.gn-cta-row{gap:14px;flex-wrap:wrap!important;width:auto!important}
/* contact */
.gn-ct{display:grid!important;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,64px);margin-top:48px!important}
.gn-info{gap:22px}
.gn-irow{gap:16px;align-items:flex-start!important}
.gn-ic{width:auto!important;flex:none}
.gn-ic .elementor-icon{width:46px;height:46px;border-radius:var(--r);background:var(--green-lt);color:var(--green)!important;display:grid!important;place-items:center;font-size:18px!important;transition:background .3s,color .3s,transform .4s}
.gn-ic .elementor-icon svg{fill:var(--green)!important;width:18px;height:18px}
.gn-irow:hover .gn-ic .elementor-icon{background:var(--green);color:#fff!important;transform:rotate(-6deg)}
.gn-irow:hover .gn-ic .elementor-icon svg{fill:#fff!important}
.gn-it{flex:1 1 auto;min-width:0;width:auto!important}
.gn-it p{margin:0!important;font:400 15px/1.5 var(--fbody);color:var(--fg)}
.gn-it small{display:block;color:var(--muted);font-size:12.8px;text-transform:uppercase;letter-spacing:.1em}
.gn-it b,.gn-it>p>a:not(.gn-maplink){font:700 17.3px/1.4 var(--fhead);text-decoration:none!important;color:var(--fg)!important}
.gn-maplink{display:inline-flex;gap:8px;align-items:center;font:600 14.7px var(--fbody);color:var(--green)!important;text-decoration:none!important}
.gn-hours{width:100%;border-collapse:collapse;font-size:14.7px;margin:0!important;border:0!important}
.gn-hours td{padding:7px 0!important;border:0!important;border-bottom:1px dashed var(--line)!important;background:none!important}
.gn-hours td:last-child{text-align:right;color:var(--muted)}
.gn-hours tr{background:none!important}
.gn-pay{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.gn-pay span{font-size:12.8px;font-weight:600;border:1px solid var(--line);padding:5px 10px;border-radius:4px}
.gn-fcard2{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,4vw,40px)!important;box-shadow:0 24px 60px -34px rgba(16,20,28,.4);gap:18px}
.gn-form-h .elementor-heading-title{font:900 24px/1.08 var(--fhead)!important;color:var(--fg)!important}
.gn-form .elementor-field-group{margin-bottom:18px!important}
.gn-form .elementor-field-label{font:600 13.4px/1.3 var(--fbody)!important;color:var(--fg)!important;margin-bottom:7px!important}
.gn-form .elementor-field-textual,.gn-form select{font:400 16px var(--fbody)!important;padding:13px 14px!important;border:1.5px solid var(--line)!important;border-radius:var(--r)!important;background:#fff!important;color:var(--fg)!important;transition:border-color .2s,box-shadow .2s;min-height:auto}
.gn-form .elementor-field-textual:focus,.gn-form select:focus{border-color:var(--green)!important;box-shadow:0 0 0 3px rgba(7,131,1,.12)!important;outline:none}
.gn-form .elementor-field-type-checkbox .elementor-field-option label{font:500 14px var(--fbody)!important;color:var(--fg)}
.gn-form .elementor-field-type-checkbox input{accent-color:var(--green);margin-right:8px}
.gn-form .elementor-button{background:var(--green)!important;color:#fff!important;font:600 16px/1 var(--fbody)!important;padding:16px 24px!important;border-radius:var(--r)!important;transition:background .25s,transform .25s!important}
.gn-form .elementor-button:hover{background:var(--green-dk)!important;transform:translateY(-2px)}
.gn-form .elementor-message-success{background:var(--green-lt);border:1px solid var(--green);padding:14px;border-radius:var(--r);color:var(--fg)}
.gn-fine p{font:400 12.8px/1.5 var(--fbody)!important;color:var(--muted)!important;text-align:center;margin:0!important}
@keyframes gnSpinIn{from{transform:rotate(-12deg) scale(.92);opacity:0}to{transform:none;opacity:1}}
/* responsive */
@media(max-width:1000px){.gn-feat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.gn-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
.gn-gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px}
.gn-ct{grid-template-columns:1fr}
.gn-steps{grid-template-columns:1fr;gap:0}
.gn-steps:before{top:28px;bottom:28px;left:27px;right:auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--green) 0 18px,transparent 18px 24px)}
.gn-step{display:grid!important;grid-template-columns:56px 1fr;column-gap:22px;padding-bottom:30px!important}
.gn-step .gn-dot{grid-row:span 2}
.gn-sh3 .elementor-heading-title{margin-top:12px!important}
.gn-step .gn-sp{grid-column:2}}
@media(max-width:860px){.gn-about-in,.gn-areas-in,.gn-revg,.gn-faq-in{grid-template-columns:1fr}.gn-ab-vis{aspect-ratio:16/11}.gn-radius{max-width:340px}}
@media(max-width:720px){.gn-badges{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.gn-feat,.gn-why-grid{grid-template-columns:1fr}}
@media(max-width:480px){.gn-facts .elementor-icon-list-items{grid-template-columns:1fr}.gn-gal{grid-template-columns:1fr}.gn-gal>.gn-g.gn-wide{grid-column:span 1}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.gn-fcard{display:flex!important;flex-direction:column!important}
.gn-fin{flex:1 1 auto!important;display:flex!important;flex-direction:column!important}
.gn-acc .elementor-tab-title,.gn-acc .elementor-tab-title a,.gn-acc .elementor-accordion-title{font-size:17.3px!important;line-height:1.35!important;font-weight:800!important;font-family:var(--fhead)!important}
.gn-acc .elementor-tab-title{display:flex;justify-content:space-between;align-items:center}
.gn-acc .elementor-accordion-icon{order:2;margin-left:16px}
.gn-stamp p,.gn-stamp b,.gn-stamp span{color:#fff!important}
.gn-ab-copy .gn-p{margin-top:14px!important}

/* ===== inner pages ===== */
.gn-phero .gn-hero-in{padding-top:clamp(64px,9vw,120px)!important;padding-bottom:clamp(56px,7vw,96px)!important}
.gn-phero .gn-h1 .elementor-heading-title{font-size:clamp(2.3rem,5.2vw,4.1rem)!important;max-width:17ch}
.gn-crumb p{margin:30px 0 0!important;font:500 13.5px/1 var(--fbody);color:#aeb5c1;letter-spacing:.04em}
.gn-crumb a{color:#8fdc89!important;text-decoration:none!important}
.gn-crumb span{opacity:.5;margin:0 6px}
.gn-stats{background:var(--grain-navy),var(--bond-navy),var(--navy)!important;padding:0 0 clamp(48px,6vw,72px)!important;margin-top:-1px}
.gn-badges-l{max-width:none!important;margin-top:0!important}
.gn-mt{margin-top:28px!important}
.gn-faqcard{margin-top:32px!important;background:var(--stone);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:var(--r);padding:24px!important;gap:16px}
.gn-faqcard .gn-p p+p{margin-top:6px!important;color:var(--muted)!important}
.gn-faq-l{position:sticky;top:110px}
.gn-note{margin-top:22px!important}
.gn-note p{color:var(--muted)!important;font-size:15px!important}
.gn-area-t .gn-ctas{margin-top:28px!important}
.gn-ol .elementor-button{background:transparent!important;border-color:var(--green)!important;color:var(--green)!important}
.gn-ol .elementor-button:hover{background:var(--green)!important;color:#fff!important}
.gn-mapsec{padding:0!important;line-height:0}
.gn-map iframe{filter:grayscale(.35) contrast(1.05);display:block}
.gn-quote{justify-content:center}
.gn-it table{margin-top:10px!important}
.gn-ct .gn-irow{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px!important;transition:box-shadow .3s,transform .3s}
.gn-ct .gn-irow:hover{box-shadow:0 18px 40px -28px rgba(16,20,28,.4);transform:translateY(-2px)}
.gn-form select{appearance:auto}
.gn-gal{grid-auto-flow:dense}
@media(max-width:860px){.gn-faq-l{position:static}}
@media(max-width:767px){
.gn-phero .gn-hero-in{padding-top:56px!important;padding-bottom:48px!important}
.gn-phero .gn-h1 .elementor-heading-title{font-size:2.1rem!important;max-width:none}
.gn-ctas .gn-btn,.gn-ctas .gn-btn .elementor-button,.gn-cta-row .gn-btn,.gn-cta-row .gn-btn .elementor-button{width:100%!important;justify-content:center}
.gn-ctas,.gn-cta-row{width:100%!important}
.gn-badges-l{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.gn-form .elementor-field-group{width:100%!important;flex:0 0 100%!important;max-width:100%!important}
.gn-ct .gn-irow{padding:14px!important}
.gn-map iframe{height:300px!important}
.gn-gb-row .gn-btn,.gn-gb-row .gn-btn .elementor-button{width:100%!important;justify-content:center}
}/* End custom CSS */