/* Chi siamo oggi. Scoped layout; header, footer and other pages are unchanged. */
body.gf-about-code-page #ajax-content-wrap .container-wrap { padding-top:0!important; padding-bottom:0!important; background:#fff; }
body.gf-about-code-page #ajax-content-wrap .container.main-content { width:100%; max-width:none; padding:0; }
body.gf-about-code-page #ajax-content-wrap .container.main-content>.row { margin:0; padding:0; }
.gf-about,.gf-about * { box-sizing:border-box; }
.gf-about { background:#fff; color:#173527; }
.gf-about .gf-about__container { width:var(--gf-container-width,min(calc(100% - clamp(20px,5vw,72px)*2),1240px)); margin-inline:auto; }
.gf-about__hero { position:relative; display:flex; align-items:flex-end; min-height:clamp(320px,29vw,440px); overflow:hidden; background:#003f22; isolation:isolate; }
.gf-about__hero-image { position:absolute; inset:0; z-index:-2; }
.gf-about__hero-image img { display:block; width:100%!important; height:100%!important; max-width:none; margin:0; object-fit:cover; object-position:center 48%; }
.gf-about__hero:after { position:absolute; inset:0; z-index:-1; content:""; background:linear-gradient(90deg,rgba(0,48,27,.83),rgba(0,40,25,.45) 55%,rgba(0,25,20,.12)),linear-gradient(0deg,rgba(0,30,20,.4),transparent 65%); pointer-events:none; }
.gf-about__hero-content { padding-block:80px 56px; }
.gf-about #gf-about-title { max-width:1040px; margin:0; padding:0; font-family:Montserrat,'Open Sans',Arial,sans-serif; font-size:clamp(42px,5.1vw,72px); font-weight:600; letter-spacing:-.04em; line-height:1.1; color:#fff; text-align:left; }
.gf-about__nav { border-bottom:1px solid #dce4df; background:#fff; }
.gf-about__nav>.gf-about__container { display:flex; align-items:stretch; gap:clamp(28px,5vw,72px); }
.gf-about .gf-about__nav a,.gf-about__nav-current { position:relative; display:flex; align-items:center; min-height:80px; padding:22px 0; color:#59675f; font:600 13px/1.5 Montserrat,Arial,sans-serif; text-decoration:none!important; transition:color .2s ease; }
.gf-about .gf-about__nav a:hover { color:#017231; text-decoration:none!important; }
.gf-about .gf-about__nav a:before,.gf-about .gf-about__nav a:after { content:none!important; }
.gf-about .gf-about__nav a:focus-visible { outline:2px solid #017231; outline-offset:6px; }
.gf-about .gf-about__nav-current { color:#017231; }
.gf-about__nav-current:after { position:absolute; content:""; left:0; right:0; bottom:-1px; height:3px; background:#017231; }
.gf-about__body { padding-block:clamp(56px,6vw,88px) clamp(64px,7vw,104px); }
.gf-about__copy { max-width:980px; }
.gf-about .gf-about__copy p { margin:0; padding:0; color:#59675f; font-family:'Open Sans',Arial,sans-serif; font-size:clamp(16px,1.35vw,18px); font-weight:400; line-height:1.8; text-align:left; }
.gf-about .gf-about__copy p+p { margin-top:24px; }
.gf-about__gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding-bottom:80px; }
.gf-about__gallery figure { margin:0; }
.gf-about__gallery img { width:100%; height:auto; display:block; }
@media(max-width:700px) {
 .gf-about__hero { min-height:280px; }
 .gf-about__hero-content { padding-block:70px 36px; }
 .gf-about #gf-about-title { font-size:clamp(36px,8.5vw,52px); }
 .gf-about__nav>.gf-about__container { gap:20px; justify-content:space-between; }
 .gf-about .gf-about__nav a,.gf-about__nav-current { min-height:68px; font-size:11px; padding-block:18px; }
 .gf-about__body { padding-block:44px 56px; }
 .gf-about .gf-about__copy p { font-size:16px; line-height:1.75; }
 .gf-about__gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding-bottom:48px; }
}
@media(prefers-reduced-motion:reduce) { .gf-about * { transition:none!important; } }
