@font-face { font-display:swap; font-family:'DM Sans'; font-style:normal; font-weight:400; src:url('../fonts/dm-sans-400.ttf') format('truetype'); }
@font-face { font-display:swap; font-family:'DM Sans'; font-style:normal; font-weight:500; src:url('../fonts/dm-sans-500.ttf') format('truetype'); }
@font-face { font-display:swap; font-family:'DM Sans'; font-style:normal; font-weight:700; src:url('../fonts/dm-sans-700.ttf') format('truetype'); }
:root { --smc-green:#00834a; --smc-deep-green:#005b35; --smc-ink:#111313; --smc-mist:#eef2ef; --smc-rule:70px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { overflow-x:hidden; }
.smc-shell { width:min(1200px, calc(100% - 40px)); margin-inline:auto; }
.smc-header { position:relative; z-index:20; background:#fff; }
.smc-contact-strip { background:#f5f6f5; color:#202322; font-size:11px; line-height:1.2; }
.smc-contact-strip__inner { min-height:36px; }
.smc-contact-strip__items { gap:0 28px; min-height:36px; align-items:center; }
.smc-contact-strip p { margin:0; white-space:nowrap; }
.smc-contact-strip a { color:inherit; text-decoration:none; }
.smc-contact-strip a:hover { color:var(--smc-green); }
.smc-nav-row { background:#fff; border-bottom:1px solid #edf0ee; }
.smc-nav-row__inner { min-height:74px; gap:25px; align-items:center; }
.smc-brand { display:block; flex:0 0 177px; line-height:0; }
.smc-brand img { width:177px; max-height:60px; object-fit:contain; object-position:left center; }
.smc-primary-nav { flex:1 1 auto; justify-content:flex-end; }
.smc-primary-nav .wp-block-navigation__container { gap:19px; }
.smc-primary-nav a { color:var(--smc-ink); text-decoration:none; }
.smc-primary-nav a:hover, .smc-primary-nav .current-menu-item > a { color:var(--smc-green); }
.smc-primary-nav .wp-block-navigation-submenu__toggle { color:var(--smc-green); padding-left:3px; }
.smc-primary-nav .wp-block-navigation__submenu-container { min-width:265px; padding:10px 0; border:0; box-shadow:0 14px 26px rgba(0,0,0,.14); }
.smc-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { padding:0; }
.smc-primary-nav .wp-block-navigation__submenu-container a { display:block; padding:9px 17px; font-size:11px; letter-spacing:.03em; }
.smc-header-cta .wp-block-button__link { white-space:nowrap; padding:15px 23px; font-size:10px; }
.smc-footer { background:var(--smc-ink); color:#d7ddda; padding:72px 0 0; }
.smc-footer a { color:inherit; text-decoration:none; }
.smc-footer a:hover { color:#76d3a2; }
.smc-footer__grid { gap:48px; align-items:flex-start; }
.smc-footer__brand { flex:1.25 1 270px; }.smc-footer__links { flex:.6 1 135px; }.smc-footer__contact { flex:.95 1 210px; }.smc-footer__cta { flex:1 1 230px; }
.smc-brand--footer { filter:brightness(0) invert(1); margin-bottom:19px; }
.smc-footer h3 { color:#fff; font-size:1.2rem; margin:0 0 17px; }.smc-footer p { font-size:.9rem; margin:0 0 10px; }.smc-footer .wp-block-navigation__container { gap:9px; }.smc-footer .wp-block-navigation-item { font-size:.82rem; }
.smc-footer__bottom { border-top:1px solid rgba(255,255,255,.15); margin-top:52px; padding:21px 0; }.smc-footer__bottom p { margin:0; font-size:.75rem; }

/* Reusable editor classes. Add them in a block's Advanced > Additional CSS class(es). */
.smc-section { padding-block:clamp(3.5rem, 8vw, 7.5rem); position:relative; }
.smc-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),.smc-section > .wp-block-group__inner-container,.smc-section > .wp-block-columns,.smc-section > .wp-block-cover__inner-container { max-width:none; width:min(1200px, calc(100% - 40px)); margin-inline:auto; }
.smc-hero { min-height:525px; display:flex; align-items:center; color:#fff; background:var(--smc-ink); position:relative; isolation:isolate; }
.smc-hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,15,18,.84) 0%,rgba(7,15,18,.66) 43%,rgba(7,15,18,.25) 100%); z-index:-1; }
.smc-hero .wp-block-cover__image-background { z-index:-2; }.smc-hero h1, .smc-hero h2 { max-width:760px; color:#fff; font-size:clamp(2.65rem, 5vw, 4.6rem); letter-spacing:-.04em; margin-bottom:23px; }.smc-hero p { max-width:600px; font-size:1.1rem; }.smc-hero .wp-block-button { margin-top:16px; }
.smc-page-heading { background:var(--smc-ink); color:#fff; padding:clamp(3.5rem,7vw,6.5rem) max(20px,calc((100% - 1200px)/2)); }.smc-page-heading h1 { color:#fff; font-size:clamp(2.5rem,5vw,4.5rem); margin:0; }.smc-page-heading .smc-eyebrow { color:#7bd2a4; margin-bottom:18px; }
.smc-eyebrow { color:var(--smc-green); display:flex; align-items:center; gap:10px; font-size:.7rem !important; font-weight:700; letter-spacing:.17em; line-height:1.2; text-transform:uppercase; }.smc-eyebrow:before { background:currentColor; content:""; display:block; height:2px; width:var(--smc-rule); }
.smc-dark { background:var(--smc-ink); color:#fff; }.smc-dark h1,.smc-dark h2,.smc-dark h3,.smc-dark h4 { color:#fff; }.smc-dark .smc-eyebrow { color:#79d4a5; }
.smc-green { background:var(--smc-green); color:#fff; }.smc-green h1,.smc-green h2,.smc-green h3,.smc-green h4 { color:#fff; }.smc-green .smc-eyebrow { color:#fff; }
.smc-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,6vw,7rem); align-items:center; }.smc-section.smc-split { display:block; }.smc-split > * { min-width:0; }.smc-split h2 { font-size:clamp(2rem,3.6vw,3.5rem); }.smc-split .wp-block-image { position:relative; margin:0; }.smc-split .wp-block-image:before,.smc-split .wp-block-image:after { content:""; position:absolute; z-index:1; transform:skew(-18deg); }.smc-split .wp-block-image:before { background:var(--smc-green); height:105px; left:-30px; top:22px; width:70px; }.smc-split .wp-block-image:after { background:var(--smc-ink); height:45px; left:-51px; top:150px; width:42px; }.smc-split .wp-block-image img,.smc-media img { display:block; min-height:350px; object-fit:cover; width:100%; }
.smc-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }.smc-cards > .wp-block-group { background:#fff; color:var(--smc-ink); min-height:190px; padding:30px; position:relative; text-align:center; overflow:hidden; }.smc-cards > .wp-block-group:after { background:#edf2ee; content:""; height:170%; position:absolute; right:-30%; top:-30%; transform:skew(-22deg); width:30%; z-index:0; }.smc-cards > .wp-block-group > * { position:relative; z-index:1; }.smc-cards h3 { font-size:1.15rem; margin:.5rem 0; }.smc-cards p { color:#606660; font-size:.85rem; margin:0 auto 13px; max-width:310px; }.smc-cards .wp-block-button__link { background:transparent; color:var(--smc-green); font-size:.67rem; padding:0; }.smc-cards a { color:var(--smc-green); font-size:.67rem; font-weight:700; letter-spacing:.13em; text-decoration:none; text-transform:uppercase; }
.smc-projects { display:flex; gap:10px; margin-bottom:-90px; overflow:auto; padding:0 30px; position:relative; z-index:3; }.smc-projects > .smc-project-card { background:#fff; box-shadow:0 2px 9px rgba(0,0,0,.16); color:var(--smc-ink); flex:0 0 clamp(145px,14vw,190px); padding:0; }.smc-projects figure { margin:0; }.smc-projects img { aspect-ratio:1.52/1; display:block; min-height:0; object-fit:cover; width:100%; }.smc-projects p { font-size:.78rem; font-weight:700; margin:0; padding:12px 8px; text-align:center; }
.smc-projects.smc-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:0; overflow:visible; padding:0; }.smc-projects.smc-project-grid > .smc-project-card { min-width:0; }
.smc-clients { padding-block:0; }.smc-clients .smc-projects { margin-top:-55px; }
.smc-florida-panel { align-self:stretch; display:flex; flex-direction:column; justify-content:center; min-height:100%; padding:clamp(2.5rem,6vw,5rem); }.smc-florida-panel p { max-width:440px; }
.smc-cta { background:var(--smc-green); color:#fff; padding-block:clamp(3rem,6vw,5.5rem); }.smc-cta h2 { color:#fff; font-size:clamp(2rem,4vw,3.5rem); }.smc-cta .wp-block-button__link { background:#fff; color:var(--smc-green); }
.smc-faq .wp-block-details { border-bottom:1px solid #ced6d0; padding:18px 0; }.smc-faq summary { color:var(--smc-ink); cursor:pointer; font-weight:700; list-style:none; padding-right:30px; position:relative; }.smc-faq summary:after { color:var(--smc-green); content:"+"; font-size:1.45rem; font-weight:400; position:absolute; right:2px; top:-7px; }.smc-faq details[open] summary:after { content:"−"; }.smc-faq .wp-block-details p { color:#57605a; margin:14px 30px 0 0; }
.smc-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,7vw,7rem); }.smc-contact-grid form input,.smc-contact-grid form textarea,.smc-contact-grid input,.smc-contact-grid textarea { background:#fff; border:1px solid #d8dfda; border-radius:0; font:inherit; margin-bottom:12px; padding:14px; width:100%; }.smc-contact-grid textarea { min-height:135px; }.smc-contact-grid input[type=submit],.smc-contact-grid button[type=submit] { background:var(--smc-green); border:0; color:#fff; cursor:pointer; font-size:.75rem; font-weight:700; letter-spacing:.12em; padding:17px; text-transform:uppercase; }
.smc-service-list { background:rgba(12,16,15,.78); color:#fff; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }.smc-service-list > * { border-bottom:1px solid rgba(255,255,255,.18); padding:24px; }.smc-service-list h3 { color:#fff; font-size:1rem; margin:0 0 5px; }.smc-service-list p { color:#d8dfda; font-size:.88rem; margin:0; }
.wp-block-post-content > .alignfull { margin-block-start:0; }
@media (max-width:1120px) { .smc-primary-nav .wp-block-navigation__container { gap:12px; }.smc-header-cta .wp-block-button__link { padding-inline:14px; }.smc-contact-strip__items { gap-inline:16px; }.smc-bids-email { display:none; } }
@media (max-width:960px) { .smc-contact-strip { padding-block:8px; }.smc-contact-strip__items { justify-content:center; }.smc-nav-row__inner { min-height:70px; }.smc-primary-nav { order:3; flex:0 0 auto; }.smc-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default) { display:none; }.smc-primary-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { color:var(--smc-green); display:flex; }.smc-primary-nav .wp-block-navigation__responsive-container.is-menu-open { background:#fff; color:var(--smc-ink); display:flex; padding:25px; }.smc-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items:flex-start; }.smc-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items:stretch; gap:4px; width:100%; }.smc-primary-nav .wp-block-navigation__responsive-container.is-menu-open a { font-size:.83rem; padding:11px 0; }.smc-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow:none; min-width:auto; padding:0 0 0 16px; }.smc-header-cta { margin-left:auto; }.smc-address { display:none; } }
@media (max-width:700px) { .smc-shell { width:min(100% - 30px,1200px); }.smc-contact-strip__items { gap:5px 15px; }.smc-contact-strip p { font-size:10px; }.smc-nav-row__inner { gap:12px; }.smc-brand { flex-basis:150px; }.smc-brand img { width:150px; }.smc-header-cta .wp-block-button__link { font-size:9px; padding:12px 11px; }.smc-section > .wp-block-group__inner-container,.smc-section > .wp-block-columns,.smc-section > .wp-block-cover__inner-container { width:calc(100% - 30px); }.smc-hero { min-height:490px; }.smc-hero h1,.smc-hero h2 { font-size:2.5rem; }.smc-split,.smc-contact-grid { grid-template-columns:1fr; }.smc-split .wp-block-image { margin-left:34px; }.smc-cards { grid-template-columns:1fr; }.smc-projects { margin-bottom:-52px; padding-inline:15px; }.smc-projects .wp-block-group { flex-basis:160px; }.smc-projects.smc-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:0; padding:0; }.smc-service-list { grid-template-columns:1fr; }.smc-footer { padding-top:52px; }.smc-footer__grid { gap:34px; }.smc-footer__bottom { margin-top:35px; }.smc-footer__cta { width:100%; } }
@media (max-width:430px) { .smc-contact-strip__items { justify-content:flex-start; }.smc-contact-strip p:nth-child(2) { display:none; }.smc-brand { flex-basis:125px; }.smc-brand img { width:125px; }.smc-header-cta .wp-block-button__link { letter-spacing:.07em; }.smc-hero h1,.smc-hero h2 { font-size:2.15rem; }.smc-split .wp-block-image img { min-height:270px; } }

/* Final reconstruction proportions and readable cards. */
.smc-hero h1 {font-size:clamp(2.2rem,3.5vw,3.6rem); max-width:790px;}
.smc-hero .wp-block-cover__inner-container {width:100%;}
.smc-cards h3 {color:var(--smc-ink);}
.smc-services-home {padding-block:135px 65px;background:linear-gradient(90deg,var(--smc-green) 0 60%,var(--smc-ink) 60% 100%);}
.smc-services-home > .smc-split {width:100%;max-width:none;grid-template-columns:3fr 2fr;gap:0;}
.smc-what-we-do {padding-inline:40px;}
.smc-florida-panel {padding:55px;}
.smc-cards > .wp-block-group {margin:0;width:100%;min-height:200px;}
.smc-cards .wp-block-buttons {justify-content:center;}
.smc-project-grid img {aspect-ratio:1.55;}
.smc-project-grid .smc-project-card {margin:0;width:100%;}
.smc-section > h2 {font-size:clamp(1.9rem,3vw,2.8rem);}
.smc-contact-grid .gform_wrapper {width:100%;}
.smc-contact-grid .gform_button {min-height:48px;}
.smc-section > .smc-media {max-width:760px;}
.smc-section > .smc-media img {min-height:0;object-fit:contain;}
@media(max-width:700px){.smc-services-home{background:var(--smc-green);padding-top:95px;padding-bottom:0;}.smc-services-home > .smc-split{grid-template-columns:1fr;}.smc-what-we-do{padding:0 20px 45px;}.smc-florida-panel{padding:45px 25px;}.smc-projects.smc-project-grid{grid-template-columns:1fr;}.smc-hero h1{font-size:2.35rem;}.smc-section.smc-shell > .wp-block-columns{width:100%;}}

.wp-site-blocks > *,.smc-header > *,.smc-page-content {margin-block-start:0!important;}
.smc-page-content > .wp-block-post-content,.smc-header > .smc-contact-strip,.smc-header > .smc-nav-row {max-width:none!important;width:100%;}
.smc-hero:before {z-index:1;}
.smc-hero .wp-block-cover__image-background {z-index:0;}
.smc-hero .wp-block-cover__inner-container {z-index:2;}
.smc-hero .smc-shell > * {margin-inline:0!important;}
.wp-block-columns.smc-split,.wp-block-columns.smc-contact-grid {display:grid!important;}
.smc-split > *,.smc-projects > .smc-project-card {margin-block:0!important;}
.smc-clients > .smc-projects {width:100%!important;max-width:none!important;}
.smc-projects:not(.smc-project-grid) > .smc-project-card {flex:1 0 0;min-width:145px;}
.home .smc-section:has(> .smc-eyebrow) > .smc-eyebrow {justify-content:center;}
.home .smc-section:has(> .smc-eyebrow) > h2 {text-align:center;max-width:750px;margin-bottom:50px;}
.smc-services-home .smc-split {align-items:stretch;}
.smc-services-home .smc-what-we-do {align-self:center;}
@media(max-width:700px){.smc-projects:not(.smc-project-grid) > .smc-project-card{flex:0 0 160px;}.smc-hero .smc-shell{width:calc(100% - 30px);}.smc-hero .smc-shell h1{max-width:100%;}}

.smc-clients {height:0;z-index:3;}
.smc-clients .smc-projects {margin-top:0;transform:translateY(-55px);}

.smc-reading-column {padding-top:0;}
.smc-reading-column.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {width:min(900px,calc(100% - 40px));}
.smc-reading-column h2 {margin-top:50px;}
.smc-reading-column li {margin-block:12px;}
.gform_wrapper.gravity-theme,.gform-theme--framework {--gf-ctrl-btn-bg-color-primary:#00834a;--gf-ctrl-btn-bg-color-hover-primary:#005b35;--gf-ctrl-btn-radius:0;}
.gform_wrapper .gform_footer input[type=submit],.gform_wrapper .gform_footer button[type=submit] {background:#00834a!important;border:0!important;border-radius:0!important;color:white!important;padding:16px 30px!important;font:700 13px 'DM Sans',sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important;cursor:pointer;}
.smc-contact-grid .gform_wrapper input:not([type=submit]),.smc-contact-grid .gform_wrapper textarea {border-radius:0;}

.smc-primary-nav .has-child[data-smc-escaped="true"] > .wp-block-navigation__submenu-container {visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
