/* Version 7.0. Homepage category icon aligned with start of a wrapping title. */
.fg57-categories-grid .fg57-category-card{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto 1fr auto;align-content:start;align-items:start;column-gap:12px;row-gap:15px;min-height:245px}
.fg57-categories-grid .fg57-category-icon{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;width:52px;height:55px;min-width:0}
.fg57-categories-grid .fg57-category-icon img{max-width:100%;width:45px;height:45px;object-fit:contain}
.fg57-categories-grid .fg57-category-name{grid-column:2;grid-row:1;align-self:center;min-width:0;overflow-wrap:anywhere;hyphens:auto;margin:0;line-height:1.2}
.fg57-categories-grid .fg57-category-description{grid-column:1/-1;grid-row:2;margin:0;min-width:0}
.fg57-categories-grid .fg57-category-more{grid-column:1/-1;grid-row:3;align-self:end}
@media(max-width:520px){.fg57-categories-grid .fg57-category-card{grid-template-columns:48px minmax(0,1fr);min-height:unset;padding:18px;column-gap:12px;grid-template-rows:auto auto auto}.fg57-categories-grid .fg57-category-icon{grid-row:1;width:48px;height:48px}.fg57-categories-grid .fg57-category-icon img{width:40px;height:40px}.fg57-categories-grid .fg57-category-description{grid-column:1/-1;grid-row:2}.fg57-categories-grid .fg57-category-more{grid-column:1/-1;grid-row:3}}
/* Dedicated services collection, reuse existing editorial palette without gradients. */
.fg70-home-services{background:#f7f6f1}.fg70-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}.fg70-services-grid.fg70-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.fg70-services-grid.fg70-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fg70-service-tile{min-width:0;display:flex;flex-direction:column;background:#fff;text-decoration:none!important;color:#252a26!important;border:1px solid #e5e3da;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.fg70-service-tile:hover,.fg70-service-tile:focus-visible{border-color:#b38b5a;transform:translateY(-3px);box-shadow:0 16px 35px rgba(19,29,25,.09)}
.fg70-service-media{position:relative;aspect-ratio:16/10;background:#29312c;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff}.fg70-service-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.fg70-service-tile:hover .fg70-service-media img{transform:scale(1.035)}.fg70-photo-fallback{letter-spacing:.2em;font-size:12px;color:#eee}
.fg70-service-counter{position:absolute;bottom:0;left:0;background:#27312b;color:#e6c593;font:700 10px/1.2 system-ui,sans-serif;padding:11px 14px;letter-spacing:.13em}
.fg70-service-copy{padding:23px;display:flex;flex:1;flex-direction:column;gap:12px}.fg70-service-copy h3{font-size:clamp(20px,1.7vw,25px)!important;line-height:1.19;margin:0;color:#242a25;letter-spacing:-.025em}.fg70-service-copy p{font-size:14px;line-height:1.65;color:#61665f;flex:1;margin:0}.fg70-service-link{font-size:12px;color:#976c3d;font-weight:750;letter-spacing:.02em}.fg70-service-link span{margin-left:6px}
.fg70-section-footer{margin:26px 0 0}.fg70-all-link{display:inline-flex;align-items:center;gap:12px;padding:13px 20px;border:1px solid #b69462;font-weight:750;font-size:13px;text-decoration:none;color:#343b32}
.fg70-landing-services{padding:clamp(40px,5vw,76px) 0;margin:0 auto}.fg70-landing-intro{max-width:720px;margin-bottom:32px}.fg70-landing-intro>p:first-child{font-size:11px;letter-spacing:.16em;font-weight:800;color:#a67b49}.fg70-landing-intro h2{font-size:clamp(27px,3.3vw,43px);line-height:1.12}.fg70-landing-intro p:last-child{color:#6b6e68}
/* The content-only fullscreen viewer. The dialog owns the top layer, never duplicates header/footer. */
html.fg70-modal-open{overflow:hidden}.fg70-service-modal{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;color:#252b27;background:#f8f7f3;overflow:hidden;box-sizing:border-box}.fg70-service-modal::backdrop{background:rgba(10,16,12,.84)}.fg70-service-modal[open]{animation:fg70-enter .32s cubic-bezier(.2,.9,.25,1) both}@keyframes fg70-enter{from{opacity:.45;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}
.fg70-modal-shell{height:100%;display:flex;flex-direction:column}.fg70-modal-top{background:#262d28;color:#fff;min-height:76px;padding:12px clamp(18px,4.5vw,68px);display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:3px solid #a9824c;flex:0 0 auto}.fg70-modal-brand{display:flex;align-items:center;gap:22px;min-width:0}.fg70-modal-brand .custom-logo-link,.fg70-modal-brand .site-logo{display:block;max-width:138px}.fg70-modal-brand img{object-fit:contain;max-width:138px!important;max-height:48px!important;width:auto!important;height:auto!important}.fg70-modal-brand>span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#d1b78b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fg70-modal-close{background:transparent;border:1px solid #7d8980;color:#fff;border-radius:2px;padding:12px 18px;cursor:pointer;font:700 12px/1.1 system-ui,sans-serif;white-space:nowrap}.fg70-modal-close span{margin-left:14px;font-size:16px}.fg70-modal-close:hover,.fg70-modal-close:focus-visible{background:#3c4840;outline:2px solid #c9ac75;outline-offset:2px}
.fg70-modal-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1;scrollbar-gutter:stable}.fg70-modal-inner{max-width:1260px;margin:0 auto;padding:clamp(25px,4vw,62px) clamp(18px,5vw,65px) 80px}.fg70-modal-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.87fr);align-items:center;gap:clamp(20px,3vw,60px);margin-bottom:48px}.fg70-kicker{display:block;font-size:11px;letter-spacing:.18em;font-weight:800;color:#a48254;margin-bottom:18px}.fg70-modal-heading h2{font-size:clamp(28px,3.8vw,50px)!important;line-height:1.06;letter-spacing:-.04em;max-width:780px;margin:0 0 22px}.fg70-modal-heading p{color:#606862;font-size:clamp(16px,1.6vw,19px);line-height:1.6}.fg70-modal-photo{aspect-ratio:16/10;background:#28302a;overflow:hidden}.fg70-modal-photo img{width:100%;height:100%;object-fit:cover}.fg70-modal-editorial{max-width:960px;margin:0 auto;line-height:1.75;color:#414941}.fg70-modal-editorial h2{font-size:clamp(24px,2.6vw,32px)!important;line-height:1.2;margin:34px 0 14px}.fg70-modal-editorial ul{padding-left:24px}.fg70-modal-editorial li{margin:0 0 12px}.fg70-modal-editorial details{padding:16px 4px;border-top:1px solid #d9d7d0}.fg70-modal-editorial summary{cursor:pointer;font-weight:700}.fg70-modal-editorial p{max-width:none!important}.fg70-modal-actions{max-width:960px;margin:34px auto 0;border-top:1px solid #dedbd1;padding-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}.fg70-modal-button,.fg70-modal-full{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:12px 22px;text-decoration:none!important;font-weight:750;font-size:13px;overflow-wrap:anywhere}.fg70-modal-button{background:#a62235;color:#fff!important}.fg70-modal-full{border:1px solid #afa28c;color:#2b332d!important}
.fg70-single-wrap{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:44px 0 90px}.fg70-single-back{font-size:12px;color:#b18249;letter-spacing:.06em;text-decoration:none}.fg70-single-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:30px 0 60px}.fg70-single-hero h1{font-size:clamp(30px,4vw,54px)!important;line-height:1.1}.fg70-single-hero p{font-size:17px;color:#626660}.fg70-single-photo{aspect-ratio:16/10;background:#29322a}.fg70-single-photo img{width:100%;height:100%;object-fit:cover}.fg70-single-text{width:min(850px,100%);margin:0 auto}.fg70-single-text h2{font-size:clamp(23px,3vw,34px);margin-top:32px}
@media(max-width:1160px){.fg70-services-grid,.fg70-services-grid.fg70-cols-4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.fg70-services-grid,.fg70-services-grid.fg70-cols-3,.fg70-services-grid.fg70-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.fg70-modal-feature,.fg70-single-hero{grid-template-columns:1fr}.fg70-modal-feature{gap:20px}.fg70-modal-photo{max-height:360px}.fg70-modal-brand>span{display:none}}
@media(max-width:560px){.fg70-services-grid,.fg70-services-grid.fg70-cols-2,.fg70-services-grid.fg70-cols-3,.fg70-services-grid.fg70-cols-4{grid-template-columns:1fr}.fg70-service-tile{display:grid;grid-template-columns:39% minmax(0,1fr);min-height:150px}.fg70-service-media{height:100%;aspect-ratio:auto}.fg70-service-copy{padding:14px;gap:8px}.fg70-service-copy h3{font-size:18px!important}.fg70-service-copy p{font-size:12px;line-height:1.5}.fg70-service-counter{padding:6px 8px;font-size:9px}.fg70-modal-top{min-height:64px}.fg70-modal-brand img{max-height:36px!important;max-width:115px!important}.fg70-modal-close{padding:10px 12px}.fg70-modal-inner{padding:26px 18px 55px}.fg70-modal-feature{margin-bottom:26px}.fg70-modal-photo{aspect-ratio:16/9}.fg70-modal-editorial h2{margin-top:24px}.fg70-modal-button,.fg70-modal-full{width:100%;box-sizing:border-box}.fg70-single-wrap{width:calc(100% - 30px)}.fg70-landing-services{padding:38px 0}}
@media(prefers-reduced-motion:reduce){.fg70-service-modal[open]{animation:none}.fg70-service-tile,.fg70-service-media img{transition:none}}

.fg70-image-notice{position:absolute;top:8px;right:8px;font-size:9px;letter-spacing:.06em;padding:5px 7px;background:rgba(24,32,27,.8);color:#f5f0e7;max-width:70%;text-align:right}
/* v7.2 compatible fallback when native HTMLDialogElement is unavailable. */
.fg70-service-modal.fg72-dialog-fallback[open]{display:block!important;z-index:2147483000;box-shadow:0 0 0 100vmax rgba(9,16,14,.82)}
