/* 4Granite Industrial v1.6 — centralized, tested layout rules.
 * Loaded after all historic CSS. Controls are in Appearance > Customize > Design & Colors.
 * The WordPress page editor, NOT the Core Plugin, owns Home/About/Services/Contact content. */
:root{--fg-body-background:#fff;--fg-body-text:#192127;--fg-heading-color:#192127;
--fg-button-bg:#9bc522;--fg-button-text:#101719;--fg-service-card-bg:#1f282d;
--fg-service-card-text:#fff;--fg-project-card-bg:#fff;--fg-project-card-text:#192127;
--fg-card-inner-pad:22px;--fgmodern-page-gutter:48px;}
body.fgmodern-site{background:var(--fg-body-background);color:var(--fg-body-text);font-family:var(--fg-body-font,system-ui,-apple-system,"Segoe UI",Arial,sans-serif)}
.fgmodern-site .fgmodern-main{background:var(--fg-body-background)}
.fgmodern-site .fgmodern-content :is(p,li){color:var(--fg-body-text)}
.fgmodern-site .fgmodern-content :is(h1,h2,h3,h4,h5,h6){color:var(--fg-heading-color)}
.fgmodern-site :is(.fgmodern-button,.fg-btn,.wp-block-button__link),
.fgmodern-site a.fgmodern-button{background:var(--fg-button-bg);border-color:var(--fg-button-bg);color:var(--fg-button-text);font-weight:800}
.fgmodern-site :is(.fgmodern-button,.fg-btn,.wp-block-button__link):hover{filter:brightness(1.07)}
.fgmodern-site .fgmodern-page-banner h1,.fgmodern-site .fgmodern-service-hero h1{color:#fff}
.fgmodern-site .fgmodern-content .fg-native-section>h2{color:inherit}
/* Gutenberg full-width sections share the very same 1320px grid as header/footer. */
.fgmodern-site .fg-native-section{padding-block:var(--fg-section-space,72px);
 padding-inline:max(18px,calc((100% - var(--fgmodern-max,1320px))/2));}
.fgmodern-site .fg-native-section>.wp-block-columns,.fgmodern-site .fg-native-section>.fg-native-cards,
.fgmodern-site .fg-native-section>.wp-block-buttons{max-width:var(--fgmodern-max,1320px);margin-inline:auto}
.fgmodern-site .fg-native-section>.wp-block-columns{width:100%}
.fgmodern-site .fgmodern-standard .fgmodern-content{padding:0;box-shadow:none;border:0;max-width:var(--fgmodern-max,1320px);}
.fgmodern-site .fgmodern-front .fg-native-section{max-width:none}
/* Unified front-page cards: image 16:10, flexible title band, no ghost stripe. */
.fgmodern-site .fg-service-grid,.fgmodern-site .fg-project-grid{
 display:grid;grid-template-columns:repeat(var(--fg-service-cols,3),minmax(0,1fr));
 gap:clamp(18px,2vw,27px);align-items:stretch;grid-auto-flow:row;margin-top:24px;}
.fgmodern-site .fg-project-grid{grid-template-columns:repeat(var(--fg-project-cols,3),minmax(0,1fr));}
.fgmodern-site :is(.fg-service-card,.fg-project-card){display:flex;flex-direction:column;
 min-width:0;overflow:hidden;border-radius:5px;box-shadow:0 10px 23px rgba(9,20,24,.12);
 text-decoration:none;transform:translateZ(0);height:100%;border:0;position:relative}
.fgmodern-site :is(.fg-service-card,.fg-project-card)>.fg-card-photo{
 display:block;flex:none;width:100%;height:auto!important;min-height:0;aspect-ratio:16/10;
 position:relative;margin:0;overflow:hidden;background:#c8d0cf;border:0;}
.fgmodern-site :is(.fg-service-card,.fg-project-card)>.fg-card-photo img{
 display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;
 object-fit:cover;object-position:center;transition:transform .25s ease;}
.fgmodern-site :is(.fg-service-card,.fg-project-card):hover>.fg-card-photo img{transform:scale(1.045)}
.fgmodern-site .fg-service-card>.fg-card-label,.fgmodern-site .fg-project-card>.fg-project-body{
 display:grid;grid-template-columns:minmax(22px,auto) minmax(0,1fr) minmax(24px,auto);
 align-items:center;gap:clamp(10px,1.1vw,16px);padding:var(--fg-card-inner-pad);
 margin:0;min-height:105px;flex:1 0 auto;border:0;}
.fgmodern-site .fg-service-card>.fg-card-label{background:var(--fg-service-card-bg);color:var(--fg-service-card-text)}
.fgmodern-site .fg-project-card>.fg-project-body{background:var(--fg-project-card-bg);color:var(--fg-project-card-text);
 grid-template-columns:minmax(0,1fr) minmax(24px,auto);border-bottom:1px solid #e0e5e5;}
.fgmodern-site .fg-service-card .fg-native-card-title,
.fgmodern-site .fg-service-card .fg-card-label>h3{
 color:var(--fg-service-card-text)!important;font-size:clamp(1rem,1.2vw,1.15rem);
 line-height:1.24;font-weight:850;letter-spacing:-.015em;text-transform:uppercase;
 margin:0;display:block;overflow-wrap:anywhere;}
.fgmodern-site .fg-project-card .fg-native-card-title,
.fgmodern-site .fg-project-card .fg-project-body>h3{
 color:var(--fg-project-card-text)!important;font-size:clamp(1.04rem,1.2vw,1.2rem);
 line-height:1.27;font-weight:850;letter-spacing:-.014em;text-transform:none;
 margin:0;display:block;overflow-wrap:anywhere;}
.fgmodern-site .fg-service-card .fg-mini-icon{display:flex;align-items:center;justify-content:center;
 min-width:22px;font-size:1.45rem;color:var(--fgmodern-accent);line-height:1}
.fgmodern-site .fg-service-card .fg-arrow,.fgmodern-site .fg-project-card .fg-arrow{
 color:var(--fgmodern-accent);font-size:1.4rem;font-weight:800;line-height:1;justify-self:end;}
.fgmodern-site .fg-project-card .fg-arrow{color:#678c0a}
.fgmodern-site :is(.fg-service-card,.fg-project-card):focus-visible{outline:3px solid var(--fgmodern-accent);outline-offset:3px}
.fgmodern-site .fg-section{padding-block:var(--fg-section-space,72px)}
.fgmodern-site .fg-section>.fg-container{width:min(calc(100% - 2 * var(--fgmodern-edge,48px)),var(--fgmodern-max,1320px));max-width:var(--fgmodern-max,1320px);margin-inline:auto}
.fgmodern-site .fg-section--dark :is(.fg-section-head h2,.fg-section-copy){color:#fff}
.fgmodern-site .fg-section--soft :is(.fg-section-head h2,.fg-section-copy){color:var(--fg-heading-color)}
.fgmodern-site .fg-service-grid a:not(.fg-btn),.fgmodern-site .fg-project-grid a:not(.fg-btn){text-decoration:none}
/* In page editor output, allow standalone cards block without any injected sections. */
.fgmodern-site .fgmodern-content>.fg-service-grid,.fgmodern-site .fgmodern-content>.fg-project-grid{
 width:100%;max-width:100%;margin-inline:0;}
/* Consistent button styles for editor content and native blocks. */
.fgmodern-site .fgmodern-content .wp-block-buttons .wp-block-button__link{padding:14px 24px;border-radius:3px}
/* Standard Gutenberg page sections should never have unintended page-edge clipping. */
.fgmodern-site .fgmodern-content .alignwide{max-width:var(--fgmodern-max,1320px)}
.fgmodern-site .fgmodern-content .alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
@media(max-width:1000px){
 .fgmodern-site .fg-service-grid,.fgmodern-site .fg-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fgmodern-site .fg-native-section{padding-inline:clamp(18px,3vw,36px)}
}
@media(max-width:650px){
 .fgmodern-site .fg-service-grid,.fgmodern-site .fg-project-grid{grid-template-columns:1fr;gap:18px}
 .fgmodern-site .fg-service-card>.fg-card-label,.fgmodern-site .fg-project-card>.fg-project-body{min-height:90px}
 .fgmodern-site .fg-native-section{padding-inline:18px}
}

/* Dark Gutenberg sections must remain readable even when placed inside a standard page. */
.fgmodern-site .fgmodern-content .fg-native-projects :is(h1,h2,h3,p),
.fgmodern-site .fgmodern-content .fg-section--dark :is(h1,h2,h3,p),
.fgmodern-site .fgmodern-content .fg-native-safety :is(h1,h2,h3,p){color:#fff;}
/* Use the Customizer button colors on all Gutenberg button variants, including canvas pages. */
.fgmodern-site .fgmodern-content .wp-block-buttons .wp-block-button__link,
.fgmodern-site .fg-native-section .wp-block-button__link,
.fgmodern-site .fgmodern-header-cta{
 background:var(--fg-button-bg);border:2px solid var(--fg-button-bg);
 color:var(--fg-button-text);font-weight:800;
}
/* Keep the original accent on icons, but allow card typography to be customized. */
.fgmodern-site .fg-service-card .fg-card-label .fg-native-card-title{color:var(--fg-service-card-text)!important;}
.fgmodern-site .fg-project-card .fg-project-body .fg-native-card-title{color:var(--fg-project-card-text)!important;}
/* Protect headings inside dark Gutenberg cover call-to-action sections. */
.fgmodern-site .fgmodern-content .wp-block-cover :is(h1,h2,h3,p),
.fgmodern-site .fgmodern-content .fg-native-photo-cta :is(h1,h2,h3,p){color:#fff;}

.fgmodern-site .fgmodern-button,.fgmodern-site .fg-btn,
.fgmodern-site .wp-block-button__link{border-radius:var(--fg-button-radius,3px)}
