/* 4Granite 1.7 — reusable Team Profiles and editable service detail patterns.
   Shares the wide 1320px system and established green/charcoal palette. */
.fgmodern-site .fg-service-featured{background:#f0f3f2;margin:0;padding:24px 24px 0;}
.fgmodern-site .fg-service-featured .fgmodern-shell{max-width:var(--fgmodern-max,1320px);}
.fgmodern-site .fg-service-featured-photo{width:100%;max-width:100%;height:clamp(250px,32vw,480px);object-fit:cover;display:block;border-radius:4px;}
.fgmodern-site .fgmodern-service-detail{padding-top:0;}
/* The image inside the Gutenberg pattern is independent of WordPress's Featured Image. */
.fgmodern-site .fg-service-intro,.fgmodern-site .fg-service-body,.fgmodern-site .fg-service-highlights,
.fgmodern-site .fg-service-request-quote,.fgmodern-site .fg-team-section{
 width:100%;max-width:none;margin:0!important;box-sizing:border-box;
 padding:clamp(45px,5.4vw,80px) max(22px,calc((100% - var(--fgmodern-max,1320px))/2))!important;
}
.fgmodern-site .fg-service-intro{background:#fff;}
.fgmodern-site .fg-service-body{background:#fff;}
.fgmodern-site .fg-service-highlights{background:#f1f4f2;}
.fgmodern-site .fg-service-request-quote{background:#1c262b;color:#fff;border-top:5px solid var(--fgmodern-accent,#9bc522);}
.fgmodern-site .fg-service-intro>.wp-block-columns,
.fgmodern-site .fg-service-body>.wp-block-group,
.fgmodern-site .fg-service-highlights>.wp-block-columns,
.fgmodern-site .fg-service-request-quote>.wp-block-group,
.fgmodern-site .fg-team-section>.wp-block-group{
 max-width:var(--fgmodern-max,1320px);width:100%;margin-inline:auto!important;
}
.fgmodern-site .fg-service-intro .wp-block-columns{align-items:center;gap:clamp(30px,5vw,70px);}
.fgmodern-site .fg-service-intro .wp-block-image{margin:0;}
.fgmodern-site .fg-service-intro .wp-block-image img{display:block;width:100%;height:clamp(260px,31vw,480px);object-fit:cover;border-radius:4px;}
.fgmodern-site .fg-service-intro h2,.fgmodern-site .fg-service-body h2,
.fgmodern-site .fg-service-highlights h2,.fgmodern-site .fg-team-section h2{
 font-size:clamp(2rem,3.8vw,3.5rem);font-weight:900;letter-spacing:-.055em;line-height:1.05;
 text-transform:uppercase;margin:0 0 22px;color:#1b2429;
}
.fgmodern-site .fg-service-intro h2:before,.fgmodern-site .fg-service-body h2:before,
.fgmodern-site .fg-service-highlights h2:before,.fgmodern-site .fg-team-section h2:before{
 content:"";width:62px;height:6px;background:var(--fgmodern-accent,#9bc522);display:block;margin-bottom:22px;
}
.fgmodern-site .fg-service-intro p,.fgmodern-site .fg-service-body p,.fgmodern-site .fg-service-highlights p,
.fgmodern-site .fg-team-section p{color:#435159;line-height:1.72;}
.fgmodern-site .fg-service-intro .wp-block-buttons{margin-top:26px;}
.fgmodern-site .fg-service-body .fg-service-body-inner{max-width:var(--fgmodern-max,1320px);margin-inline:auto;}
.fgmodern-site .fg-service-body h3{font-weight:800;font-size:1.35rem;margin-top:32px;color:#222b30;}
.fgmodern-site .fg-service-body ul{padding-left:22px;}
.fgmodern-site .fg-service-body li{line-height:1.8;padding-left:4px;}
.fgmodern-site .fg-service-highlights .wp-block-columns{gap:24px;}
.fgmodern-site .fg-service-highlights .wp-block-column{padding:28px;background:#fff;border-top:4px solid var(--fgmodern-accent,#9bc522);border-radius:3px;min-width:0;}
.fgmodern-site .fg-service-highlights h3{font-size:1.25rem;font-weight:850;letter-spacing:-.02em;text-transform:uppercase;color:#182329;margin:0 0 12px;}
.fgmodern-site .fg-service-request-quote h2,.fgmodern-site .fg-service-request-quote p{color:#fff;}
.fgmodern-site .fg-service-request-quote h2{font-size:clamp(2rem,3.5vw,3.3rem);font-weight:900;text-transform:uppercase;letter-spacing:-.045em;line-height:1.12;margin:0 0 15px;}
.fgmodern-site .fg-service-request-quote p{color:#dce4e8;max-width:720px;line-height:1.65;}
.fgmodern-site .fg-service-request-quote .wp-block-buttons{margin-top:26px;}
.fgmodern-site .fg-service-request-quote .wp-block-button__link{background:var(--fg-button-bg,#9bc522);color:var(--fg-button-text,#101719);}
/* Expandable staff cards — CSS-only native details/summary, keyboard and screen reader friendly. */
.fg-team-grid{display:grid;grid-template-columns:repeat(var(--fg-team-cols,3),minmax(0,1fr));gap:clamp(17px,2.4vw,27px);align-items:start;margin-block:28px;}
.fg-team-card{min-width:0;background:#fff;border:1px solid #dce2df;border-top:5px solid var(--fgmodern-accent,#9bc522);box-shadow:0 10px 28px rgba(15,25,29,.09);border-radius:4px;overflow:hidden;}
.fg-team-card summary{display:flex;flex-direction:column;min-height:225px;padding:28px;cursor:pointer;list-style:none;position:relative;gap:8px;}
.fg-team-card summary::-webkit-details-marker{display:none;}
.fg-team-card summary:focus-visible{outline:3px solid #608c10;outline-offset:-5px;}
.fg-team-kicker{display:block;color:#739b14;font-size:.73rem;letter-spacing:.13em;font-weight:900;}
.fg-team-name{font-size:clamp(1.5rem,2.3vw,2.15rem);line-height:1.15;letter-spacing:-.035em;font-weight:900;color:#182329;overflow-wrap:anywhere;}
.fg-team-role{font-size:.89rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#42600e;}
.fg-team-blurb{font-size:.93rem;line-height:1.57;color:#4f5d61;margin-top:7px;}
.fg-team-expand{font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#274010;display:flex;align-items:center;gap:11px;margin-top:auto;padding-top:20px;}
.fg-team-expand-icon{display:inline-flex;width:28px;height:28px;border:1px solid #a8c66b;align-items:center;justify-content:center;font-size:1.4rem;line-height:1;}
.fg-team-close-label,.fg-team-card[open] .fg-team-open-label{display:none;}
.fg-team-card[open] .fg-team-close-label{display:inline;}
.fg-team-card[open] .fg-team-expand-icon{transform:rotate(45deg);}
.fg-team-expanded{padding:22px 28px 30px;border-top:1px solid #e0e5e1;background:#f7f9f8;}
.fg-team-photo img{display:block;width:100%;height:240px;object-fit:cover;border-radius:3px;margin:0 0 23px;}
.fg-team-bio p{line-height:1.7;color:#3c4c52;margin:0 0 14px;}
.fg-team-subtitle{font-size:1rem!important;font-weight:900;text-transform:uppercase;color:#1e2a2d!important;margin:23px 0 10px!important;}
.fg-team-cert-list{list-style:disc outside;padding-left:20px;margin:0 0 18px;}
.fg-team-cert-list li{font-size:.94rem;line-height:1.65;color:#3b474a;margin:4px 0;}
.fg-team-contact{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:25px;}
.fg-team-email{display:inline-flex!important;padding:12px 17px;background:var(--fg-button-bg,#9bc522);color:#101719!important;font-weight:850;text-decoration:none!important;border-radius:3px;gap:10px;}
.fg-team-phone{font-size:.91rem;font-weight:750;}
.fg-team-empty{padding:18px;background:#f1f5ed;border-left:4px solid #9bc522;}
.fgmodern-site .fg-team-section{background:#f1f4f2;}
@media(max-width:1020px){.fg-team-grid{grid-template-columns:repeat(var(--fg-team-tablet,2),minmax(0,1fr));}}
@media(max-width:700px){.fg-team-grid{grid-template-columns:minmax(0,1fr);}.fg-team-card summary{min-height:0;}.fgmodern-site .fg-service-intro .wp-block-columns{gap:24px;}.fgmodern-site .fg-service-intro,.fgmodern-site .fg-service-body,.fgmodern-site .fg-service-highlights,.fgmodern-site .fg-service-request-quote,.fgmodern-site .fg-team-section{padding:42px 18px!important;}.fgmodern-site .fg-service-featured{padding:16px 16px 0;}.fgmodern-site .fg-service-intro .wp-block-image img{height:290px;}.fgmodern-site .fg-service-highlights .wp-block-column{padding:22px;}}
