@font-face{font-family:GGFManrope;src:url('../fonts/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:GGFNewsreader;src:url('../fonts/newsreader.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
.ggf{--ggf-ink:#1d232b;--ggf-green:#4a7c62;--ggf-deep:#356047;--ggf-paper:#f6f4ef;--ggf-sage:#e8eee7;--ggf-line:#d8ddd7;--ggf-muted:#5b6464;font-family:GGFManrope,Arial,sans-serif;font-size:16px;line-height:1.65;color:var(--ggf-ink);background:#fff;text-align:left;isolation:isolate;overflow:clip}
.ggf *,.ggf *:before,.ggf *:after{box-sizing:border-box}.ggf [hidden]{display:none!important}.ggf img{max-width:100%;height:auto;display:block}.ggf a{color:inherit;text-decoration:none}.ggf p,.ggf h1,.ggf h2,.ggf h3,.ggf ul,.ggf figure{margin:0}.ggf h1,.ggf h2,.ggf h3{font-family:GGFNewsreader,Georgia,serif;font-weight:400;letter-spacing:-.035em;color:var(--ggf-ink);text-transform:none}.ggf h1{font-size:clamp(3.2rem,5.05vw,5.45rem);line-height:.99}.ggf h2{font-size:clamp(2.5rem,3.55vw,4rem);line-height:1.07}.ggf h3{font-size:2rem;line-height:1.15}.ggf button,.ggf input{font:inherit}.ggf a:focus-visible,.ggf button:focus-visible,.ggf summary:focus-visible,.ggf input:focus-visible{outline:3px solid #397358;outline-offset:5px}.ggf .ggf-dark a:focus-visible,.ggf .ggf-dark button:focus-visible{outline-color:#d5e8d7}.ggf input:focus-visible{outline-offset:2px}.ggf button{cursor:pointer}.ggf a,.ggf button{touch-action:manipulation}.ggf .ggf-container{width:min(1264px,calc(100% - 112px));margin-inline:auto}.ggf [id]{scroll-margin-top:110px}.ggf .ggf-eyebrow{font-size:.78rem;font-weight:650;letter-spacing:.105em;line-height:1.5;text-transform:uppercase;color:var(--ggf-green)}
.ggf .ggf-button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:15px;background:var(--ggf-green);border:1px solid var(--ggf-green);border-radius:3px;padding:14px 24px;color:#fff;font-size:.92rem;font-weight:600;line-height:1.4;text-decoration:none;box-shadow:none;transition:background .18s,border-color .18s,transform .18s}.ggf .ggf-button:hover{background:var(--ggf-deep);border-color:var(--ggf-deep);color:#fff;transform:translateY(-1px)}.ggf .ggf-button svg{width:18px;height:18px}.ggf .ggf-button-dark{background:var(--ggf-ink);border-color:var(--ggf-ink)}.ggf .ggf-button-dark:hover{background:#313e36;border-color:#313e36}.ggf .ggf-button:disabled{cursor:wait;opacity:.65;transform:none}.ggf .ggf-text-link{display:inline-flex;gap:10px;align-items:center;font-size:.9rem;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#a8b6a8}.ggf .ggf-text-link svg{width:16px;height:16px;color:var(--ggf-green)}.ggf .ggf-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;flex:none}.ggf .ggf-skip{position:absolute;top:-200px;left:20px;padding:15px;background:#fff;z-index:1000}.ggf .ggf-skip:focus{top:15px}
.ggf .ggf-header{position:relative;z-index:30;background:#fff;border-bottom:1px solid #eef0ed}.ggf .ggf-header-inner{display:flex;align-items:center;justify-content:space-between;min-height:102px;gap:35px}.ggf .ggf-logo{width:290px;flex:none;line-height:1}.ggf .ggf-logo img{width:100%;height:54px;object-fit:contain;object-position:left center}.ggf .ggf-nav{display:flex;align-items:center;gap:30px;font-size:.82rem;font-weight:500;white-space:nowrap}.ggf .ggf-nav>a:not(.ggf-button):hover{color:var(--ggf-green)}.ggf .ggf-header-contact{display:flex;align-items:center;gap:14px}.ggf .ggf-phone-top{padding:12px 16px;border:1px solid #a6acab;border-radius:2px;font-size:.85rem;white-space:nowrap}.ggf .ggf-header .ggf-button{min-height:45px;padding:12px 17px;font-size:.8rem}.ggf .ggf-menu-toggle{display:none;background:none;border:1px solid var(--ggf-line);width:44px;height:44px;align-items:center;justify-content:center;padding:10px;color:var(--ggf-ink)}.ggf .ggf-toggle-icon{display:flex;align-items:center;justify-content:center}.ggf .ggf-toggle-icon-close{display:none}.ggf .ggf-menu-toggle[aria-expanded='true'] .ggf-toggle-icon-menu{display:none}.ggf .ggf-menu-toggle[aria-expanded='true'] .ggf-toggle-icon-close{display:flex}.ggf .ggf-nav-home{display:none}
.ggf .ggf-hero{background:var(--ggf-paper)}.ggf .ggf-hero-grid{display:grid;grid-template-columns:1.02fr 1fr;min-height:720px;max-width:1512px;margin:auto}.ggf .ggf-hero-copy{padding:75px 40px 65px max(56px,calc((100vw - 1264px)/2));display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.ggf .ggf-hero .ggf-eyebrow{font-size:.73rem;margin-bottom:29px}.ggf .ggf-hero h1{margin-bottom:30px}.ggf .ggf-hero h1 span{display:block}.ggf .ggf-hero h1 .ggf-accent{color:var(--ggf-green)}.ggf .ggf-hero-description{max-width:440px;font-size:1.04rem;line-height:1.8;color:#485152}.ggf .ggf-hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:29px}.ggf .ggf-hero-note{font-size:.77rem;color:var(--ggf-muted);margin-top:38px;max-width:430px}.ggf .ggf-hero-photo{position:relative;margin:0;min-height:660px;overflow:hidden}.ggf .ggf-hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}.ggf .ggf-photo-caption{position:absolute;left:28px;right:28px;bottom:28px;padding:21px 25px;background:rgba(246,244,239,.94);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.6)}.ggf .ggf-photo-caption p{font-size:.67rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px}.ggf .ggf-photo-caption>div{display:flex;align-items:center;gap:0;font-family:GGFNewsreader,Georgia,serif;font-size:1.25rem}.ggf .ggf-photo-caption span+span{padding-left:22px;margin-left:22px;border-left:1px solid #bfc9bd}.ggf .ggf-specialties{display:grid;grid-template-columns:repeat(4,1fr);padding-block:35px}.ggf .ggf-specialty{display:flex;align-items:center;justify-content:center;gap:25px;font-family:GGFNewsreader,Georgia,serif;font-size:1.32rem;line-height:1.2;padding:6px 20px}.ggf .ggf-specialty+.ggf-specialty{border-left:1px solid var(--ggf-line)}.ggf .ggf-specialty svg{width:34px;height:38px;color:var(--ggf-green);stroke-width:1.1}
.ggf .ggf-kit{background:var(--ggf-ink);color:#fff;padding:83px 0}.ggf .ggf-kit-grid{display:grid;grid-template-columns:1.15fr .78fr 1.02fr;gap:43px;align-items:center}.ggf .ggf-kit h2{color:var(--ggf-paper);font-size:clamp(2.4rem,3.25vw,3.6rem);margin:21px 0 24px;max-width:480px}.ggf .ggf-kit .ggf-eyebrow{color:#92baa2}.ggf .ggf-kit-intro{font-size:.96rem;color:#e0e4df;max-width:440px}.ggf .ggf-benefits{list-style:none;padding:0;display:grid;gap:17px;margin-top:31px}.ggf .ggf-benefits li{display:flex;align-items:center;gap:12px;font-size:.86rem;line-height:1.5}.ggf .ggf-benefits svg{width:22px;height:22px;color:#9ecdb1}.ggf .ggf-kit-cover{padding:20px 0 0}.ggf .ggf-kit-cover img{width:100%;box-shadow:0 20px 44px #0005;transform:rotate(-5deg);border:1px solid #ddd9d0;aspect-ratio:595/842;object-fit:cover}.ggf .ggf-kit-cover figcaption{margin-top:29px;text-align:center;color:#b9c4bb;font-size:.75rem;letter-spacing:.04em}.ggf .ggf-form-panel{padding:33px 30px 28px;background:var(--ggf-paper);color:var(--ggf-ink);border-radius:5px;min-width:0}.ggf .ggf-form-panel h3{font-size:2.1rem;letter-spacing:-.045em;margin-bottom:10px}.ggf .ggf-form-lead{font-size:.8rem;color:var(--ggf-muted);margin-bottom:22px}.ggf .ggf-field{display:grid;gap:7px;margin-bottom:17px}.ggf .ggf-field label{font-size:.81rem;font-weight:550;color:var(--ggf-ink)}.ggf .ggf-field input{border:1px solid #c9ceca;appearance:none;border-radius:2px;min-height:49px;padding:10px 12px;background:white;width:100%;color:var(--ggf-ink);font-size:1rem;box-shadow:none;line-height:1.5}.ggf .ggf-field input::placeholder{color:#858d87}.ggf .ggf-consent{display:flex;gap:11px;align-items:flex-start;font-size:.73rem;line-height:1.6;margin:4px 0 21px}.ggf .ggf-consent input{appearance:auto;accent-color:var(--ggf-green);margin:3px 0 0;width:17px;height:17px;flex:none}.ggf .ggf-consent a{text-decoration:underline;text-underline-offset:3px}.ggf .ggf-form-panel .ggf-button{width:100%}.ggf .ggf-form-note{text-align:center;font-size:.75rem;color:var(--ggf-muted);margin-top:14px}.ggf .ggf-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.ggf .ggf-form-status:not(:empty){font-size:.82rem;line-height:1.6;color:#8b302a;background:#f9e8e3;border-left:3px solid #af5147;padding:12px;margin-bottom:16px}.ggf .ggf-downloads{display:grid;gap:13px}.ggf .ggf-downloads h3{margin-bottom:0}.ggf .ggf-downloads p{font-size:.86rem;line-height:1.65;margin-bottom:5px}.ggf .ggf-downloads .ggf-button-secondary{color:var(--ggf-green);border-color:#b8c9bb;background:transparent}.ggf .ggf-downloads .ggf-button-secondary:hover{background:var(--ggf-sage)}.ggf .ggf-form-unavailable p{font-size:.9rem;line-height:1.65;margin:18px 0}.ggf .ggf-admin-tip{font-size:.8rem;border:1px dashed var(--ggf-green);padding:12px;margin-top:15px}
.ggf .ggf-services{padding:100px 0 104px}.ggf .ggf-services-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:100px}.ggf .ggf-services h2{margin-top:23px;margin-bottom:34px;max-width:590px}.ggf .ggf-finance-panel{background:var(--ggf-sage);padding:35px 34px 29px}.ggf .ggf-finance-panel h3{font-size:2.4rem;max-width:420px;margin-bottom:15px}.ggf .ggf-finance-panel>p{font-size:.95rem;line-height:1.7;color:#495b51;max-width:410px}.ggf .ggf-finance-tags{border-top:1px solid #b9cbb9;margin-top:24px;padding-top:17px;font-size:.73rem;line-height:1.9;color:#45554a}.ggf .ggf-service-list{padding-top:11px;list-style:none}.ggf .ggf-service-list li{display:grid;grid-template-columns:46px 1fr;gap:21px;padding:23px 0 24px;border-bottom:1px solid var(--ggf-line)}.ggf .ggf-service-list li:first-child{padding-top:0}.ggf .ggf-service-number{font-family:GGFNewsreader,Georgia,serif;font-size:2.45rem;line-height:1.25;color:var(--ggf-green)}.ggf .ggf-service-list h3{font-size:1.85rem;margin-bottom:9px}.ggf .ggf-service-list p{font-size:.91rem;line-height:1.7;color:var(--ggf-muted);max-width:440px}
.ggf .ggf-method{background:var(--ggf-paper);display:grid;grid-template-columns:1fr 1fr;max-width:1512px;margin:auto}.ggf .ggf-method-photo{min-height:500px;position:relative}.ggf .ggf-method-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:48% center}.ggf .ggf-method-copy{padding:65px max(56px,calc((100vw - 1264px)/2)) 65px 68px}.ggf .ggf-method h2{font-size:clamp(2.2rem,3vw,3.3rem);margin-bottom:18px}.ggf .ggf-method-intro{font-size:.94rem;color:var(--ggf-muted);max-width:490px;margin-bottom:29px}.ggf .ggf-steps{list-style:none;padding:0}.ggf .ggf-steps li{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid #cdd5cc;font-size:.96rem}.ggf .ggf-steps li:last-child{border-bottom:0}.ggf .ggf-steps span{font-family:GGFNewsreader,Georgia,serif;font-size:1.9rem;color:var(--ggf-green);line-height:1}.ggf .ggf-faq{padding:95px 0 100px}.ggf .ggf-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.ggf .ggf-faq .ggf-eyebrow{margin-bottom:23px}.ggf .ggf-faq h2{max-width:370px}.ggf .ggf-accordion{border-top:1px solid var(--ggf-line)}.ggf .ggf-accordion details{border-bottom:1px solid var(--ggf-line)}.ggf .ggf-accordion summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:21px 0;font-size:.95rem;line-height:1.55}.ggf .ggf-accordion summary::-webkit-details-marker{display:none}.ggf .ggf-accordion summary .ggf-icon{width:18px;height:18px;transition:transform .2s;color:var(--ggf-green)}.ggf .ggf-accordion details[open] summary .ggf-icon{transform:rotate(45deg)}.ggf .ggf-accordion details[open] summary{color:var(--ggf-green)}.ggf .ggf-answer{font-size:.9rem;line-height:1.85;color:var(--ggf-muted);padding:0 28px 25px 0}
.ggf .ggf-contact{background:var(--ggf-sage);padding:73px 0 78px}.ggf .ggf-contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:72px;align-items:center}.ggf .ggf-contact h2{font-size:clamp(2.5rem,3.6vw,4rem);max-width:760px}.ggf .ggf-contact p{font-size:1.02rem;margin:19px 0 25px;color:#46574b}.ggf .ggf-contact-data{border-left:1px solid #afc3b3;min-height:172px;padding-left:60px;display:flex;flex-direction:column;justify-content:center;gap:24px}.ggf .ggf-contact-data a{display:flex;align-items:center;gap:20px;font-size:1.18rem;line-height:1.4;overflow-wrap:anywhere}.ggf .ggf-contact-data svg{color:var(--ggf-green);width:22px;height:22px}.ggf .ggf-contact-data a:hover{color:var(--ggf-deep)}.ggf .ggf-contact-note{display:block;margin-top:19px;font-size:.75rem;color:#526958}.ggf .ggf-footer{background:var(--ggf-ink);color:#edf0ea;padding:38px 0 27px}.ggf .ggf-footer-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.ggf .ggf-footer-brand{width:290px;flex:none}.ggf .ggf-footer-brand img{width:100%;height:57px;object-fit:contain}.ggf .ggf-footer-place{font-size:.78rem;border-left:1px solid #56665b;padding-left:32px;margin-left:0;margin-right:auto}.ggf .ggf-footer-links{display:flex;gap:26px;font-size:.74rem;flex-wrap:wrap}.ggf .ggf-footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.ggf .ggf-copyright{margin-top:25px;color:#9aa79e;font-size:.7rem;letter-spacing:.01em}.ggf .ggf-preview-notice{background:#e8eee7;border-bottom:1px solid #cbd8ce;padding:10px 20px;text-align:center;font-size:.8rem}.ggf-full-page{margin:0!important;padding:0!important;background:white}.ggf-full-page .ggf{min-height:100vh}
@media(min-width:1513px){.ggf .ggf-hero-copy{padding-left:124px}.ggf .ggf-method-copy{padding-right:124px}}
@media(max-width:1200px){.ggf .ggf-container{width:calc(100% - 72px)}.ggf .ggf-header-inner{gap:22px;min-height:90px}.ggf .ggf-logo{width:244px}.ggf .ggf-nav{gap:21px;font-size:.79rem}.ggf .ggf-phone-top{display:none}.ggf .ggf-hero-copy{padding:58px 35px 54px 36px}.ggf .ggf-hero-grid{min-height:650px}.ggf .ggf-hero-photo{min-height:620px}.ggf .ggf-hero-note{font-size:.73rem}.ggf .ggf-photo-caption{left:20px;right:20px;padding:18px}.ggf .ggf-photo-caption span+span{padding-left:15px;margin-left:15px}.ggf .ggf-kit-grid{gap:27px;grid-template-columns:1.04fr .62fr 1fr}.ggf .ggf-form-panel{padding:28px 23px}.ggf .ggf-kit h2{font-size:2.75rem}.ggf .ggf-form-panel h3{font-size:1.85rem}.ggf .ggf-services-grid{gap:65px}.ggf .ggf-method-copy{padding:53px 36px 45px 43px}.ggf .ggf-faq-grid{gap:70px}.ggf .ggf-contact-grid{gap:42px}.ggf .ggf-contact-data{padding-left:35px}.ggf .ggf-footer-brand{width:245px}.ggf .ggf-footer-links{gap:18px}.ggf .ggf-footer-place{padding-left:23px}}
@media(max-width:960px){.ggf .ggf-container{width:calc(100% - 48px)}.ggf .ggf-logo{width:220px}.ggf .ggf-header-contact .ggf-button{font-size:.76rem;padding:11px 14px}.ggf .ggf-nav{gap:15px}.ggf .ggf-hero-copy{padding-left:24px;padding-right:25px}.ggf h1{font-size:clamp(3rem,5.8vw,4.2rem)}.ggf .ggf-hero .ggf-eyebrow{font-size:.66rem;max-width:270px;margin-bottom:25px}.ggf .ggf-hero-description{font-size:.97rem}.ggf .ggf-hero-actions .ggf-button{padding-inline:19px;font-size:.84rem}.ggf .ggf-photo-caption>div{font-size:1.05rem}.ggf .ggf-photo-caption p{font-size:.61rem}.ggf .ggf-photo-caption span+span{padding-left:10px;margin-left:10px}.ggf .ggf-specialty{gap:13px;font-size:1.2rem;padding-inline:12px}.ggf .ggf-specialty svg{width:28px;height:31px}.ggf .ggf-kit{padding:64px 0}.ggf .ggf-kit-grid{grid-template-columns:1.15fr 1fr;gap:36px}.ggf .ggf-kit-cover{display:none}.ggf .ggf-kit h2{font-size:3rem}.ggf .ggf-services{padding:75px 0}.ggf .ggf-services-grid{gap:40px}.ggf .ggf-finance-panel{padding:27px}.ggf .ggf-finance-panel h3{font-size:2rem}.ggf .ggf-service-list li{gap:13px;grid-template-columns:36px 1fr;padding:22px 0}.ggf .ggf-service-list h3{font-size:1.6rem}.ggf .ggf-service-list p{font-size:.85rem}.ggf .ggf-method-copy{padding:43px 24px 38px 32px}.ggf .ggf-method-photo{min-height:460px}.ggf .ggf-method h2{font-size:2.6rem}.ggf .ggf-faq{padding:75px 0}.ggf .ggf-faq-grid{gap:46px}.ggf .ggf-contact{padding:60px 0}.ggf .ggf-contact-grid{grid-template-columns:1.2fr .8fr;gap:25px}.ggf .ggf-contact h2{font-size:2.8rem}.ggf .ggf-contact-data{padding-left:25px}.ggf .ggf-contact-data a{font-size:1rem;gap:12px}.ggf .ggf-footer-row{flex-wrap:wrap;gap:22px}.ggf .ggf-footer-links{width:100%;justify-content:flex-start}.ggf .ggf-footer-place{margin-left:auto;margin-right:0}}
@media(max-width:740px){.ggf .ggf-header{position:sticky;top:0;z-index:90}.ggf .ggf-header-inner{position:relative;min-height:84px;gap:15px;flex-wrap:nowrap;padding:14px 0}.ggf .ggf-logo{width:min(225px,66vw)}.ggf .ggf-logo img{height:44px}.ggf .ggf-header-contact{display:none}.ggf .ggf-menu-toggle{display:flex;width:56px;height:56px;padding:14px;border-radius:6px;background:#fff;position:relative;z-index:92}.ggf .ggf-menu-toggle svg{width:24px;height:24px}.ggf .ggf-nav{position:absolute;left:0;right:0;top:calc(100% + 1px);width:auto;order:0;display:none;background:var(--ggf-ink);padding:10px 0 20px;margin:0;box-shadow:0 22px 38px rgba(7,16,27,.18);font-size:.98rem;white-space:normal}.ggf .ggf-nav.is-open{display:block}.ggf .ggf-nav>a{display:block;text-align:center;color:#fff;padding:15px 24px;border-top:1px solid rgba(255,255,255,.08)}.ggf .ggf-nav>a:first-child{border-top:0}.ggf .ggf-nav>a:hover,.ggf .ggf-nav>a:focus{background:var(--ggf-green);color:#fff}.ggf .ggf-nav-home{display:block;background:var(--ggf-green);font-weight:600}.ggf .ggf-nav-home:hover,.ggf .ggf-nav-home:focus{background:#5a9270}.ggf .ggf-hero-grid{display:flex;flex-direction:column;min-height:0}.ggf .ggf-hero-copy{padding:49px 24px 38px}.ggf .ggf-hero .ggf-eyebrow{font-size:.69rem;max-width:none;margin-bottom:25px}.ggf h1{font-size:clamp(3.4rem,9.6vw,4.8rem);line-height:1.01;max-width:100%;margin-bottom:25px}.ggf .ggf-hero-description{font-size:1rem;max-width:480px;line-height:1.75}.ggf .ggf-hero-actions{margin-top:24px;gap:19px}.ggf .ggf-hero-actions .ggf-button{font-size:.91rem;padding-inline:22px;min-height:54px}.ggf .ggf-hero-note{margin-top:27px;font-size:.73rem}.ggf .ggf-hero-photo{min-height:0;aspect-ratio:1.08}.ggf .ggf-hero-photo>img{object-position:center 47%}.ggf .ggf-photo-caption{left:24px;right:24px;bottom:22px;padding:15px 19px;max-width:410px}.ggf .ggf-photo-caption p{font-size:.61rem;margin-bottom:6px}.ggf .ggf-photo-caption>div{font-size:1.12rem}.ggf .ggf-photo-caption span+span{padding-left:20px;margin-left:20px}.ggf .ggf-specialties{grid-template-columns:1fr 1fr;padding:21px 0;gap:0}.ggf .ggf-specialty{justify-content:flex-start;padding:16px 12px;gap:15px;font-size:1.15rem}.ggf .ggf-specialty:nth-child(3){border-left:0}.ggf .ggf-specialty:nth-child(n+3){border-top:1px solid var(--ggf-line)}.ggf .ggf-specialty:nth-child(even){padding-left:24px}.ggf .ggf-specialty svg{width:27px;height:30px}.ggf .ggf-kit{padding:52px 0}.ggf .ggf-kit-grid{grid-template-columns:1fr;gap:35px}.ggf .ggf-kit h2{font-size:3rem;max-width:510px;margin-top:19px;margin-bottom:22px}.ggf .ggf-kit-intro{font-size:.96rem;max-width:490px}.ggf .ggf-benefits{gap:15px;margin-top:26px}.ggf .ggf-benefits li{font-size:.87rem}.ggf .ggf-form-panel{padding:29px 25px}.ggf .ggf-form-panel h3{font-size:2.15rem}.ggf .ggf-form-lead{font-size:.82rem}.ggf .ggf-field label{font-size:.84rem}.ggf .ggf-consent{font-size:.77rem}.ggf .ggf-services{padding:59px 0 61px}.ggf .ggf-services-grid{grid-template-columns:1fr;gap:35px}.ggf .ggf-services h2{font-size:2.8rem;margin-top:21px;margin-bottom:29px}.ggf .ggf-finance-panel{padding:28px 26px}.ggf .ggf-finance-panel h3{font-size:2.2rem}.ggf .ggf-finance-panel p{font-size:.94rem}.ggf .ggf-finance-tags{font-size:.75rem}.ggf .ggf-service-list{padding-top:0}.ggf .ggf-service-list li{padding:23px 0;grid-template-columns:36px 1fr;gap:20px}.ggf .ggf-service-list h3{font-size:1.85rem}.ggf .ggf-service-list p{font-size:.93rem}.ggf .ggf-method{grid-template-columns:1fr}.ggf .ggf-method-photo{min-height:0;aspect-ratio:1.4}.ggf .ggf-method-copy{padding:42px 24px}.ggf .ggf-method h2{font-size:2.75rem}.ggf .ggf-method-intro{font-size:.96rem}.ggf .ggf-steps li{font-size:.94rem}.ggf .ggf-faq{padding:60px 0}.ggf .ggf-faq-grid{grid-template-columns:1fr;gap:33px}.ggf .ggf-faq h2{font-size:2.85rem;max-width:490px}.ggf .ggf-faq .ggf-eyebrow{margin-bottom:18px}.ggf .ggf-accordion summary{font-size:.93rem;min-height:78px;padding:21px 0;gap:15px}.ggf .ggf-answer{font-size:.9rem;padding-right:0}.ggf .ggf-contact{padding:49px 0}.ggf .ggf-contact-grid{grid-template-columns:1fr;gap:34px}.ggf .ggf-contact h2{font-size:2.9rem;max-width:490px}.ggf .ggf-contact p{font-size:.96rem}.ggf .ggf-contact-data{border-left:0;border-top:1px solid #b4c8b8;padding:29px 0 0;min-height:0;gap:21px}.ggf .ggf-contact-data a{font-size:1.1rem;gap:16px}.ggf .ggf-footer{padding:32px 0 25px}.ggf .ggf-footer-row{display:block}.ggf .ggf-footer-brand{width:270px;max-width:100%}.ggf .ggf-footer-place{border:0;padding:0;margin:19px 0 23px;font-size:.8rem}.ggf .ggf-footer-links{gap:23px;font-size:.79rem}.ggf .ggf-copyright{font-size:.73rem;margin-top:25px}.ggf [id]{scroll-margin-top:94px}}
@media(max-width:370px){.ggf .ggf-container{width:calc(100% - 36px)}.ggf .ggf-hero-copy{padding-inline:18px}.ggf h1{font-size:3.15rem}.ggf .ggf-hero .ggf-eyebrow{font-size:.64rem}.ggf .ggf-nav{font-size:.75rem}.ggf .ggf-photo-caption{left:18px;right:18px;padding:12px}.ggf .ggf-photo-caption span+span{padding-left:13px;margin-left:13px}.ggf .ggf-kit h2{font-size:2.7rem}.ggf .ggf-form-panel{padding:25px 19px}.ggf .ggf-contact h2,.ggf .ggf-services h2{font-size:2.55rem}.ggf .ggf-specialty{font-size:1.05rem;gap:10px}.ggf .ggf-specialty:nth-child(even){padding-left:14px}}
@media(prefers-reduced-motion:reduce){.ggf *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* The supplied brand sheet is displayed through a crop window, preserving the original artwork. */
.ggf .ggf-logo-sheet{position:relative;overflow:hidden;aspect-ratio:1248/234;background:#fff;display:block}
.ggf .ggf-logo-sheet img{position:absolute;width:116.026%;max-width:none;height:auto;left:-7.532%;top:-70.086%;object-fit:initial}
.ggf .ggf-footer-sheet{position:relative;overflow:hidden;aspect-ratio:528/105;display:block}
.ggf .ggf-footer-sheet img{position:absolute;width:274.242%;max-width:none;height:auto;left:-152.65%;top:-755.238%;object-fit:initial}
/* Predictable widths and legibility inside WordPress themes and Elementor. */
.ggf .ggf-service-list{margin:0;padding-left:0}
.ggf .ggf-hero-grid>*,.ggf .ggf-services-grid>*,.ggf .ggf-faq-grid>*,.ggf .ggf-kit-grid>*{min-width:0}
.ggf h1{overflow-wrap:normal;font-size:clamp(2.9rem,4.7vw,4.7rem)}
.ggf .ggf-hero h1 span{line-height:1.08}
.ggf .ggf-eyebrow,.ggf .ggf-hero .ggf-eyebrow,.ggf .ggf-photo-caption p{font-size:.75rem}
.ggf .ggf-nav,.ggf .ggf-field label,.ggf .ggf-benefits li,.ggf .ggf-form-lead,.ggf .ggf-header .ggf-button{font-size:.875rem}
.ggf .ggf-kit-intro,.ggf .ggf-service-list p,.ggf .ggf-answer,.ggf .ggf-method-intro,.ggf .ggf-finance-panel>p{font-size:1rem}
.ggf .ggf-consent{font-size:.875rem}
.ggf .ggf-contact-note,.ggf .ggf-copyright,.ggf .ggf-finance-tags,.ggf .ggf-footer-links,.ggf .ggf-form-note,.ggf .ggf-hero-note{font-size:.8125rem}
.ggf .ggf-nav{flex-wrap:wrap;white-space:normal}
@media(min-width:741px) and (max-width:1080px){.ggf .ggf-header-contact{display:none}.ggf .ggf-logo{width:240px}}
@media(max-width:740px){.ggf h1{font-size:clamp(2.65rem,9.3vw,4.4rem)}.ggf .ggf-logo-sheet img{height:auto}.ggf .ggf-hero-note{font-size:.8125rem}.ggf .ggf-hero-actions{width:100%}.ggf .ggf-hero-actions .ggf-button{max-width:100%}.ggf .ggf-photo-caption>div{flex-wrap:wrap;row-gap:8px}.ggf .ggf-contact h2 br{display:none}}
@media(max-width:370px){.ggf h1{font-size:2.6rem}.ggf .ggf-photo-caption span+span{margin-left:10px;padding-left:10px}.ggf .ggf-photo-caption>div{font-size:1rem}}


/* ==================================================
   GGF · AJUSTES FINALES DESKTOP
   ================================================== */

@media (min-width: 961px) {

  /* SERVICIOS */
  .ggf .ggf-services-grid{
    grid-template-columns: 1.08fr .92fr;
    gap: 64px;
  }

  .ggf .ggf-services h2{
    max-width: 650px;
    font-size: 3.15rem;
    line-height: 1.04;
  }


  /* MÉTODO */
  .ggf .ggf-method{
    grid-template-columns: 42% 58%;
  }

  .ggf .ggf-method-copy{
    padding: 58px 42px;
  }

  .ggf .ggf-method h2{
    font-size: 2.35rem;
    line-height: 1.08;
    max-width: none;
    white-space: nowrap;
    word-spacing: .16em;
    letter-spacing: -0.025em;
    margin-bottom: 20px;
  }


  /* FAQ */
  .ggf .ggf-faq{
    padding: 88px 0 92px;
  }

  .ggf .ggf-faq-grid{
    grid-template-columns: 410px 1fr;
    gap: 90px;
    align-items: start;
  }

  .ggf .ggf-faq .ggf-eyebrow{
    display: none;
  }

  .ggf .ggf-faq h2{
    max-width: 410px;
    font-size: 3rem;
    line-height: 1.08;
    letter-spacing: -0.035em;
    margin: 0;
  }

  .ggf .ggf-faq-first{
    display: block;
    white-space: nowrap;
  }

  .ggf .ggf-faq-rest{
    display: block;
    margin-top: .18em;
  }


  /* CTA FINAL */
  .ggf .ggf-contact{
    padding: 68px 0 74px;
  }

  .ggf .ggf-contact h2{
    max-width: 700px;
    font-size: 3.5rem;
    line-height: 1.06;
  }

  .ggf .ggf-copyright{
    display: none;
  }
}

/* ==================================================
   GGF · HERO PREMIUM / MOVIMIENTO (v1.1)
   ================================================== */

/* Más profundidad visual sin alterar la estructura del hero. */
.ggf .ggf-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 43% 34%, rgba(76,134,105,.085), transparent 30%),
    var(--ggf-paper);
}
.ggf .ggf-hero-grid{position:relative;z-index:1;overflow:hidden}
.ggf .ggf-hero-copy{position:relative;z-index:4}
.ggf .ggf-hero-copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:480px;
  height:480px;
  left:46%;
  top:42%;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(77,135,106,.075) 0%,rgba(77,135,106,0) 68%);
  transform:translate(-50%,-50%);
  animation:ggfHeroGlow 9s ease-in-out infinite alternate;
}

/* La imagen entra suavemente en el fondo: elimina el corte vertical duro. */
.ggf .ggf-hero-photo{z-index:2;--ggf-photo-shift:0px}
.ggf .ggf-hero-photo::before{
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  bottom:0;
  left:0;
  width:150px;
  pointer-events:none;
  background:linear-gradient(90deg,
    var(--ggf-paper) 0%,
    rgba(246,244,239,.94) 13%,
    rgba(246,244,239,.68) 38%,
    rgba(246,244,239,.22) 70%,
    rgba(246,244,239,0) 100%);
}
.ggf .ggf-hero-photo::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(16,27,31,.02),rgba(16,27,31,.07));
}
.ggf .ggf-hero-photo>img{
  z-index:0;
  transform:translate3d(0,var(--ggf-photo-shift),0) scale(1.045);
  transform-origin:center center;
  will-change:transform;
}
.ggf .ggf-photo-caption{
  z-index:4;
  box-shadow:0 16px 42px rgba(25,39,34,.09);
  transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease,background-color .45s ease;
}
.ggf .ggf-photo-caption:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 52px rgba(25,39,34,.13);
  background:rgba(248,247,243,.97);
}

/* Microinteracciones para que el primer pantallazo tenga vida. */
.ggf .ggf-logo{
  transition:opacity .25s ease,transform .25s ease;
}
.ggf .ggf-logo:hover{opacity:.86;transform:translateY(-1px)}
.ggf .ggf-hero-actions .ggf-button svg{
  transition:transform .28s cubic-bezier(.2,.75,.2,1);
}
.ggf .ggf-hero-actions .ggf-button:hover svg{transform:translateX(4px)}
.ggf .ggf-hero .ggf-eyebrow{position:relative}
.ggf .ggf-hero .ggf-eyebrow::after{
  content:"";
  display:inline-block;
  width:30px;
  height:1px;
  margin-left:12px;
  vertical-align:middle;
  background:currentColor;
  opacity:.35;
  transform-origin:left center;
}

/* Entrada escalonada. Solo se oculta cuando JS está activo. */
.ggf.ggf-js .ggf-hero .ggf-eyebrow,
.ggf.ggf-js .ggf-hero h1,
.ggf.ggf-js .ggf-hero-description,
.ggf.ggf-js .ggf-hero-actions,
.ggf.ggf-js .ggf-hero-note{
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:
    opacity .75s cubic-bezier(.2,.75,.2,1),
    transform .9s cubic-bezier(.2,.75,.2,1);
}
.ggf.ggf-js .ggf-hero .ggf-hero-photo{
  opacity:0;
  clip-path:inset(0 0 0 9%);
  transition:opacity 1s ease,clip-path 1.25s cubic-bezier(.2,.75,.2,1);
}
.ggf.ggf-js .ggf-hero .ggf-photo-caption{
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:
    opacity .7s ease .48s,
    transform .85s cubic-bezier(.2,.75,.2,1) .48s,
    box-shadow .45s ease,
    background-color .45s ease;
}
.ggf.ggf-js .ggf-hero.is-ready .ggf-eyebrow,
.ggf.ggf-js .ggf-hero.is-ready h1,
.ggf.ggf-js .ggf-hero.is-ready .ggf-hero-description,
.ggf.ggf-js .ggf-hero.is-ready .ggf-hero-actions,
.ggf.ggf-js .ggf-hero.is-ready .ggf-hero-note,
.ggf.ggf-js .ggf-hero.is-ready .ggf-hero-photo,
.ggf.ggf-js .ggf-hero.is-ready .ggf-photo-caption{
  opacity:1;
  transform:translate3d(0,0,0);
  clip-path:inset(0 0 0 0);
}
.ggf.ggf-js .ggf-hero.is-ready .ggf-eyebrow{transition-delay:.04s}
.ggf.ggf-js .ggf-hero.is-ready h1{transition-delay:.11s}
.ggf.ggf-js .ggf-hero.is-ready .ggf-hero-description{transition-delay:.22s}
.ggf.ggf-js .ggf-hero.is-ready .ggf-hero-actions{transition-delay:.31s}
.ggf.ggf-js .ggf-hero.is-ready .ggf-hero-note{transition-delay:.39s}
.ggf.ggf-js .ggf-hero.is-ready .ggf-hero-photo{transition-delay:.06s}

@keyframes ggfHeroGlow{
  from{transform:translate(-52%,-52%) scale(.94);opacity:.72}
  to{transform:translate(-45%,-46%) scale(1.08);opacity:1}
}

@media(max-width:960px){
  .ggf .ggf-hero-photo::before{width:90px}
}
@media(max-width:740px){
  .ggf .ggf-hero-grid{overflow:visible}
  .ggf .ggf-hero-photo::before{
    top:0;
    right:0;
    bottom:auto;
    width:auto;
    height:72px;
    background:linear-gradient(180deg,var(--ggf-paper) 0%,rgba(246,244,239,.7) 38%,rgba(246,244,239,0) 100%);
  }
  .ggf .ggf-hero-photo>img{transform:scale(1.025)}
  .ggf .ggf-hero-copy::before{width:360px;height:360px;left:62%}
}
@media(prefers-reduced-motion:reduce){
  .ggf .ggf-hero-copy::before{animation:none!important}
  .ggf.ggf-js .ggf-hero .ggf-eyebrow,
  .ggf.ggf-js .ggf-hero h1,
  .ggf.ggf-js .ggf-hero-description,
  .ggf.ggf-js .ggf-hero-actions,
  .ggf.ggf-js .ggf-hero-note,
  .ggf.ggf-js .ggf-hero .ggf-hero-photo,
  .ggf.ggf-js .ggf-hero .ggf-photo-caption{opacity:1!important;transform:none!important;clip-path:none!important}
}
.ggf.ggf-js .ggf-hero.is-ready .ggf-photo-caption:hover{transform:translateY(-4px)}

/* ==================================================
   GGF · HERO / HOVERS + FUSIÓN DE IMAGEN (v1.2)
   ================================================== */

/* Teléfono: pasa de blanco a verde y gana presencia al hacer hover. */
.ggf .ggf-phone-top{
  transition:
    background-color .28s ease,
    border-color .28s ease,
    color .28s ease,
    transform .32s cubic-bezier(.2,.75,.2,1),
    box-shadow .32s ease;
  transform-origin:center;
}
.ggf .ggf-phone-top:hover,
.ggf .ggf-phone-top:focus-visible{
  background:var(--ggf-green);
  border-color:var(--ggf-green);
  color:#fff;
  transform:translateY(-2px) scale(1.045);
  box-shadow:0 12px 26px rgba(49,105,77,.18);
}

/* Los CTA verdes crecen algo más: el hover se percibe claramente sin ser brusco. */
.ggf .ggf-button:not(.ggf-button-dark):not(.ggf-button-secondary){
  transition:
    background-color .22s ease,
    border-color .22s ease,
    color .22s ease,
    transform .32s cubic-bezier(.2,.75,.2,1),
    box-shadow .32s ease;
  transform-origin:center;
}
.ggf .ggf-button:not(.ggf-button-dark):not(.ggf-button-secondary):hover,
.ggf .ggf-button:not(.ggf-button-dark):not(.ggf-button-secondary):focus-visible{
  background:var(--ggf-deep);
  border-color:var(--ggf-deep);
  color:#fff;
  transform:translateY(-3px) scale(1.055);
  box-shadow:0 14px 30px rgba(40,89,65,.22);
}

/* El título del banner fotográfico queda centrado. */
.ggf .ggf-photo-caption p{
  text-align:center;
}

/*
 * Hacemos que la fotografía invada suavemente la columna izquierda.
 * Así la unión ya no depende de una arista vertical exacta del grid.
 */
@media(min-width:741px){
  .ggf .ggf-hero-photo{
    --ggf-photo-overlap:110px;
    margin-left:calc(-1 * var(--ggf-photo-overlap));
    width:calc(100% + var(--ggf-photo-overlap));
  }
  .ggf .ggf-hero-photo::before{
    width:285px;
    background:linear-gradient(90deg,
      var(--ggf-paper) 0%,
      rgba(246,244,239,.995) 16%,
      rgba(246,244,239,.92) 35%,
      rgba(246,244,239,.64) 55%,
      rgba(246,244,239,.28) 76%,
      rgba(246,244,239,0) 100%);
  }
  /* Mantiene el banner visualmente dentro de la zona original de la foto. */
  .ggf .ggf-photo-caption{
    left:calc(28px + var(--ggf-photo-overlap));
  }
}

@media(min-width:741px) and (max-width:960px){
  .ggf .ggf-hero-photo{
    --ggf-photo-overlap:72px;
  }
  .ggf .ggf-hero-photo::before{width:205px}
}

@media(max-width:740px){
  .ggf .ggf-hero-photo{
    margin-left:0;
    width:auto;
  }
  .ggf .ggf-photo-caption{left:24px}
}

@media(prefers-reduced-motion:reduce){
  .ggf .ggf-phone-top,
  .ggf .ggf-button{transition:none!important}
  .ggf .ggf-phone-top:hover,
  .ggf .ggf-phone-top:focus-visible,
  .ggf .ggf-button:hover,
  .ggf .ggf-button:focus-visible{transform:none!important}
}

/* ==================================================
   GGF · HEADER + HERO REFINADO (v1.3)
   ================================================== */

/* Navegación principal: ligeramente más grande y con más peso. */
.ggf .ggf-nav{
  font-size:.94rem;
  font-weight:600;
}

/* En escritorio el hero ocupa todo el ancho para que la foto llegue al borde derecho. */
@media(min-width:741px){
  .ggf .ggf-hero-grid{
    max-width:none;
    width:100%;
  }

  /* Un poco más de solape hacia la izquierda para una transición sin costura. */
  .ggf .ggf-hero-photo{
    --ggf-photo-overlap:135px;
    margin-left:calc(-1 * var(--ggf-photo-overlap));
    width:calc(100% + var(--ggf-photo-overlap));
  }

  /* Sustituimos la capa de degradado por un desvanecido real de la propia imagen.
     De esta forma desaparece la arista vertical entre las dos columnas. */
  .ggf .ggf-hero-photo::before{
    display:none;
  }
  .ggf .ggf-hero-photo>img{
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.08) 4%,
      rgba(0,0,0,.28) 10%,
      rgba(0,0,0,.62) 18%,
      #000 31%,
      #000 100%);
    mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.08) 4%,
      rgba(0,0,0,.28) 10%,
      rgba(0,0,0,.62) 18%,
      #000 31%,
      #000 100%);
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-size:100% 100%;
    mask-size:100% 100%;
  }

  /* El banner sigue arrancando en la zona visual original de la fotografía. */
  .ggf .ggf-photo-caption{
    left:calc(28px + var(--ggf-photo-overlap));
  }
}

/* Todo el contenido textual del banner queda centrado, no solo el encabezado. */
.ggf .ggf-photo-caption>div{
  width:100%;
  justify-content:center;
  text-align:center;
}

@media(max-width:960px) and (min-width:741px){
  .ggf .ggf-nav{
    font-size:.88rem;
  }
  .ggf .ggf-hero-photo{
    --ggf-photo-overlap:82px;
  }
}

@media(max-width:740px){
  .ggf .ggf-nav{
    font-size:.84rem;
    font-weight:600;
  }
  .ggf .ggf-hero-photo>img{
    -webkit-mask-image:none;
    mask-image:none;
  }
}

/* ==================================================
   GGF · FUSIÓN HERO + SERVICIOS EN TARJETAS + MÉTODO FULL WIDTH (v1.4)
   ================================================== */

/* HERO: capa real sobre la fotografía para borrar por completo la costura vertical. */
@media(min-width:741px){
  .ggf .ggf-hero-photo{
    overflow:visible;
  }

  .ggf .ggf-hero-photo>img{
    -webkit-mask-image:none;
    mask-image:none;
  }

  .ggf .ggf-hero-photo::before{
    display:block;
    content:"";
    position:absolute;
    z-index:3;
    top:0;
    bottom:0;
    left:-95px;
    width:430px;
    pointer-events:none;
    background:linear-gradient(90deg,
      var(--ggf-paper) 0%,
      var(--ggf-paper) 17%,
      rgba(246,244,239,.99) 28%,
      rgba(246,244,239,.92) 42%,
      rgba(246,244,239,.73) 58%,
      rgba(246,244,239,.43) 73%,
      rgba(246,244,239,.16) 88%,
      rgba(246,244,239,0) 100%);
  }
}

@media(min-width:741px) and (max-width:1100px){
  .ggf .ggf-hero-photo::before{
    left:-65px;
    width:315px;
  }
}

/* SERVICIOS: composición de tarjetas inspirada en el lenguaje editorial de la referencia. */
.ggf .ggf-services{
  position:relative;
  overflow:hidden;
  padding:94px 0 104px;
  background:
    radial-gradient(circle at 91% 8%, rgba(74,124,98,.055), transparent 19%),
    #fbfaf7;
}

.ggf .ggf-services::before,
.ggf .ggf-services::after{
  content:"";
  position:absolute;
  border:1px solid rgba(74,124,98,.13);
  border-radius:50%;
  pointer-events:none;
}
.ggf .ggf-services::before{
  width:330px;
  height:330px;
  right:-118px;
  top:-145px;
}
.ggf .ggf-services::after{
  width:245px;
  height:245px;
  right:-82px;
  top:72px;
}

.ggf .ggf-services-intro{
  position:relative;
  z-index:1;
  max-width:890px;
  margin-bottom:43px;
}
.ggf .ggf-services-intro .ggf-eyebrow{
  margin-bottom:17px;
}
.ggf .ggf-services-intro h2{
  max-width:880px;
  margin:0;
  font-size:clamp(2.7rem,3.7vw,4rem);
  line-height:1.06;
}

.ggf .ggf-service-cards{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.ggf .ggf-service-card{
  min-height:238px;
  padding:27px 28px 25px;
  border:1px solid rgba(97,119,105,.34);
  border-radius:9px;
  background:rgba(255,255,255,.72);
  box-shadow:0 1px 0 rgba(255,255,255,.75) inset;
  transition:
    transform .34s cubic-bezier(.2,.75,.2,1),
    border-color .34s ease,
    box-shadow .34s ease,
    background-color .34s ease;
}
.ggf .ggf-service-card:hover{
  transform:translateY(-6px);
  border-color:rgba(74,124,98,.68);
  background:#fff;
  box-shadow:0 18px 40px rgba(28,50,39,.085);
}

.ggf .ggf-service-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:46px;
  margin-bottom:18px;
  color:var(--ggf-green);
}
.ggf .ggf-service-card-top .ggf-icon{
  width:42px;
  height:42px;
  stroke-width:1.2;
}
.ggf .ggf-service-card .ggf-service-number{
  font-size:1.82rem;
  line-height:1;
  color:rgba(53,96,71,.78);
}
.ggf .ggf-service-card h3{
  margin-bottom:11px;
  font-size:1.82rem;
  line-height:1.08;
}
.ggf .ggf-service-card p{
  max-width:320px;
  color:var(--ggf-muted);
  font-size:.94rem;
  line-height:1.65;
}

.ggf .ggf-service-card-finance{
  grid-column:span 2;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:27px;
  align-items:start;
  background:linear-gradient(135deg,rgba(232,238,231,.82),rgba(255,255,255,.88));
}
.ggf .ggf-service-card-finance .ggf-service-card-top{
  grid-row:1 / span 2;
  display:grid;
  align-content:start;
  justify-items:start;
  min-width:72px;
  margin:0;
}
.ggf .ggf-service-card-finance .ggf-service-number{
  margin-top:9px;
}
.ggf .ggf-service-finance-copy h3{
  max-width:570px;
  font-size:2.05rem;
}
.ggf .ggf-service-finance-copy p{
  max-width:560px;
}
.ggf .ggf-service-card-finance .ggf-finance-tags{
  align-self:end;
  margin-top:22px;
  padding-top:15px;
  border-top:1px solid rgba(74,124,98,.23);
  color:#4d5f54;
}

/* MÉTODO: ocupa todo el ancho y el titular queda en una sola línea en escritorio. */
.ggf .ggf-method{
  width:100%;
  max-width:none;
  margin:0;
}

@media(min-width:961px){
  .ggf .ggf-method{
    grid-template-columns:minmax(0,43%) minmax(0,57%);
  }
  .ggf .ggf-method-copy{
    padding:62px max(56px,calc((100vw - 1264px)/2)) 56px 58px;
  }
  .ggf .ggf-method h2{
    max-width:none;
    white-space:nowrap;
    font-size:clamp(2.35rem,2.85vw,3.25rem);
    word-spacing:.07em;
    letter-spacing:-.03em;
  }
}

@media(max-width:960px){
  .ggf .ggf-service-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ggf .ggf-service-card-finance{
    grid-column:span 2;
  }
}

@media(max-width:740px){
  .ggf .ggf-services{
    padding:58px 0 64px;
  }
  .ggf .ggf-services::before,
  .ggf .ggf-services::after{
    opacity:.6;
  }
  .ggf .ggf-services-intro{
    margin-bottom:30px;
  }
  .ggf .ggf-service-cards{
    grid-template-columns:1fr;
    gap:14px;
  }
  .ggf .ggf-service-card,
  .ggf .ggf-service-card-finance{
    grid-column:auto;
    min-height:0;
    padding:24px 23px;
  }
  .ggf .ggf-service-card-finance{
    display:block;
  }
  .ggf .ggf-service-card-finance .ggf-service-card-top{
    display:flex;
    justify-content:space-between;
    min-width:0;
    margin-bottom:18px;
  }
  .ggf .ggf-service-card-finance .ggf-service-number{
    margin-top:0;
  }
  .ggf .ggf-method h2{
    white-space:normal;
  }
}

@media(prefers-reduced-motion:reduce){
  .ggf .ggf-service-card:hover{transform:none}
}


/* ==================================================
   GGF · FUSIÓN HERO DEFINITIVA + SERVICIOS 4+1 (v1.5)
   ================================================== */

/*
 * HERO
 * La transición se hace ahora por encima de la fotografía y por debajo del
 * contenido textual. El fondo del hero vuelve a ser uniforme para evitar
 * cualquier diferencia de tono justo en la costura superior.
 */
.ggf .ggf-hero{
  background:var(--ggf-paper);
}

@media(min-width:741px){
  .ggf .ggf-hero-grid{
    overflow:hidden;
  }

  /* Quitamos las capas internas que podían delatar el borde del contenedor. */
  .ggf .ggf-hero-photo::before,
  .ggf .ggf-hero-photo::after{
    display:none;
  }

  /* La propia foto nace transparente: no existe un borde vertical que revelar. */
  .ggf .ggf-hero-photo>img{
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.05) 4%,
      rgba(0,0,0,.18) 9%,
      rgba(0,0,0,.42) 15%,
      rgba(0,0,0,.72) 23%,
      rgba(0,0,0,.92) 31%,
      #000 40%,
      #000 100%);
    mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.05) 4%,
      rgba(0,0,0,.18) 9%,
      rgba(0,0,0,.42) 15%,
      rgba(0,0,0,.72) 23%,
      rgba(0,0,0,.92) 31%,
      #000 40%,
      #000 100%);
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-size:100% 100%;
    mask-size:100% 100%;
  }

  /*
   * Capa de fondo independiente. Cruza la unión de las dos columnas y suaviza
   * especialmente la zona superior que todavía dejaba ver una línea.
   */
  .ggf .ggf-hero-grid::after{
    content:"";
    position:absolute;
    z-index:3;
    top:0;
    bottom:0;
    left:calc(50.5% - 175px);
    width:500px;
    pointer-events:none;
    background:linear-gradient(90deg,
      var(--ggf-paper) 0%,
      rgba(246,244,239,.995) 18%,
      rgba(246,244,239,.94) 35%,
      rgba(246,244,239,.74) 52%,
      rgba(246,244,239,.43) 69%,
      rgba(246,244,239,.18) 84%,
      rgba(246,244,239,0) 100%);
  }

  /* El texto permanece por encima de la capa de fusión. */
  .ggf .ggf-hero-copy{z-index:4}
  .ggf .ggf-photo-caption{z-index:4}
}

@media(min-width:741px) and (max-width:1100px){
  .ggf .ggf-hero-grid::after{
    left:calc(50.5% - 120px);
    width:360px;
  }
}

@media(max-width:740px){
  .ggf .ggf-hero-grid::after{display:none}
  .ggf .ggf-hero-photo>img{
    -webkit-mask-image:none;
    mask-image:none;
  }
}

/*
 * SERVICIOS
 * Recuperamos la jerarquía anterior: la quinta propuesta queda destacada a la
 * izquierda, sin número ni icono, y las cuatro áreas operativas se agrupan a
 * la derecha en cuatro recuadros estáticos.
 */
.ggf .ggf-services-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:58px;
  align-items:start;
}
.ggf .ggf-services-left{min-width:0}
.ggf .ggf-services-intro{
  max-width:570px;
  margin-bottom:31px;
}
.ggf .ggf-services-intro h2{
  max-width:570px;
  font-size:clamp(2.65rem,3.3vw,3.6rem);
}

.ggf .ggf-service-feature{
  border:1px solid rgba(97,119,105,.3);
  border-radius:9px;
  background:linear-gradient(135deg,rgba(232,238,231,.9),rgba(250,250,247,.96));
  padding:31px 31px 28px;
  box-shadow:0 1px 0 rgba(255,255,255,.72) inset;
}
.ggf .ggf-service-feature h3{
  max-width:440px;
  margin-bottom:13px;
  font-size:2.2rem;
  line-height:1.08;
}
.ggf .ggf-service-feature>p{
  max-width:455px;
  color:#495b51;
  font-size:.96rem;
  line-height:1.7;
}
.ggf .ggf-service-feature .ggf-finance-tags{
  margin-top:24px;
  padding-top:17px;
  border-top:1px solid rgba(74,124,98,.24);
}

.ggf .ggf-service-cards{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.ggf .ggf-service-card{
  min-height:230px;
  transition:none;
}
.ggf .ggf-service-card:hover,
.ggf .ggf-service-card:focus-within{
  transform:none;
  border-color:rgba(97,119,105,.34);
  background:rgba(255,255,255,.72);
  box-shadow:0 1px 0 rgba(255,255,255,.75) inset;
}

/* La antigua quinta tarjeta deja de participar en el layout si quedara cacheada. */
.ggf .ggf-service-card-finance{display:none}

@media(max-width:960px){
  .ggf .ggf-services-layout{
    grid-template-columns:1fr;
    gap:34px;
  }
  .ggf .ggf-services-intro{
    max-width:760px;
    margin-bottom:27px;
  }
  .ggf .ggf-services-intro h2{max-width:760px}
  .ggf .ggf-service-feature{max-width:760px}
  .ggf .ggf-service-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:740px){
  .ggf .ggf-services-layout{gap:28px}
  .ggf .ggf-service-cards{grid-template-columns:1fr}
  .ggf .ggf-service-card{min-height:0}
  .ggf .ggf-service-feature{padding:26px 24px 24px}
  .ggf .ggf-service-feature h3{font-size:2rem}
}


/* ==================================================
   GGF · AJUSTES v1.0.6
   ================================================== */

/* HERO: la fusión se desplaza más a la izquierda para no tapar a la mujer. */
.ggf .ggf-photo-caption > div{
  justify-content:center;
  font-style:normal;
}
.ggf .ggf-photo-caption > div span{
  font-style:normal;
}

@media(min-width:741px){
  .ggf .ggf-hero-photo::before{
    content:"";
    position:absolute;
    z-index:2;
    top:0;
    bottom:0;
    left:0;
    width:180px;
    pointer-events:none;
    background:linear-gradient(90deg,
      var(--ggf-paper) 0%,
      rgba(246,244,239,.985) 14%,
      rgba(246,244,239,.9) 34%,
      rgba(246,244,239,.58) 58%,
      rgba(246,244,239,.2) 82%,
      rgba(246,244,239,0) 100%);
  }
  .ggf .ggf-hero-photo > img{
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.14) 4%,
      rgba(0,0,0,.45) 10%,
      rgba(0,0,0,.82) 16%,
      #000 23%,
      #000 100%);
    mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.14) 4%,
      rgba(0,0,0,.45) 10%,
      rgba(0,0,0,.82) 16%,
      #000 23%,
      #000 100%);
  }
  .ggf .ggf-hero-grid::after{
    left:calc(50.5% - 235px);
    width:360px;
    background:linear-gradient(90deg,
      var(--ggf-paper) 0%,
      rgba(246,244,239,.998) 16%,
      rgba(246,244,239,.95) 33%,
      rgba(246,244,239,.7) 54%,
      rgba(246,244,239,.28) 77%,
      rgba(246,244,239,0) 100%);
  }
}
@media(min-width:741px) and (max-width:1100px){
  .ggf .ggf-hero-photo::before{width:150px}
  .ggf .ggf-hero-grid::after{
    left:calc(50.5% - 165px);
    width:290px;
  }
}

/* SERVICIOS: el título queda en una sola línea en escritorio. */
@media(min-width:961px){
  .ggf .ggf-services-intro h2{
    white-space:nowrap;
    max-width:none;
    font-size:clamp(2.45rem,3.05vw,3.5rem);
    letter-spacing:-.03em;
  }
}
@media(max-width:960px){
  .ggf .ggf-services-intro h2{white-space:normal}
}

/* MÉTODO: desvanecido entre imagen y contenido. */
.ggf .ggf-method-photo{overflow:hidden}
@media(min-width:741px){
  .ggf .ggf-method-photo::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    right:0;
    width:220px;
    pointer-events:none;
    background:linear-gradient(90deg,
      rgba(246,244,239,0) 0%,
      rgba(246,244,239,.18) 35%,
      rgba(246,244,239,.55) 62%,
      rgba(246,244,239,.88) 82%,
      var(--ggf-paper) 100%);
  }
}
@media(max-width:740px){
  .ggf .ggf-method-photo::after{display:none}
}

/* FAQ: titular centrado arriba y preguntas en dos columnas. */
.ggf .ggf-faq{
  padding:92px 0 98px;
}
.ggf .ggf-faq-header{
  text-align:center;
  max-width:760px;
  margin:0 auto 48px;
}
.ggf .ggf-faq-header .ggf-eyebrow{
  margin-bottom:16px;
}
.ggf .ggf-faq-header h2{
  max-width:none;
  margin:0;
}
.ggf .ggf-faq-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 72px;
  align-items:start;
}
.ggf .ggf-faq-columns .ggf-accordion{
  border-top:1px solid var(--ggf-line);
}
.ggf .ggf-faq-columns .ggf-accordion details:first-child{
  margin-top:0;
}
@media(max-width:960px){
  .ggf .ggf-faq-columns{gap:0 34px}
}
@media(max-width:740px){
  .ggf .ggf-faq{
    padding:60px 0;
  }
  .ggf .ggf-faq-header{
    margin-bottom:28px;
    text-align:left;
  }
  .ggf .ggf-faq-columns{
    grid-template-columns:1fr;
    gap:0;
  }
}

/* FOOTER */
.ggf .ggf-footer-links{
  text-transform:none;
}
.ggf .ggf-footer-links a + a::before{
  content:";";
  margin-right:10px;
  margin-left:2px;
  color:#8fa197;
}


/* ==================================================
   GGF · AJUSTES v1.0.7
   ================================================== */

/* Azul corporativo actualizado inspirado en la portada del kit. */
.ggf{
  --ggf-ink:#071a31;
  --ggf-ink-2:#0a2647;
  --ggf-ink-3:#0f345d;
}

/* HERO · rediseño del banner flotante */
.ggf .ggf-photo-caption{
  left:auto;
  right:34px;
  bottom:30px;
  width:min(540px, calc(100% - 68px));
  padding:16px 22px 18px;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(248,246,241,.92);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 44px rgba(16,28,46,.10);
  text-align:center;
}
.ggf .ggf-photo-caption p{
  margin-bottom:9px;
  color:#29333a;
}
.ggf .ggf-photo-caption > div{
  justify-content:center;
  gap:0;
  font-family:GGFManrope, Arial, sans-serif;
  font-size:1.02rem;
  font-weight:500;
  letter-spacing:.01em;
  color:#25323f;
}
.ggf .ggf-photo-caption span+span{
  margin-left:24px;
  padding-left:24px;
}
@media(min-width:741px){
  .ggf .ggf-hero-photo::before{
    width:155px;
    background:linear-gradient(90deg,
      var(--ggf-paper) 0%,
      rgba(246,244,239,.992) 22%,
      rgba(246,244,239,.93) 48%,
      rgba(246,244,239,.55) 74%,
      rgba(246,244,239,.05) 100%);
  }
  .ggf .ggf-hero-photo > img{
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.16) 4%,
      rgba(0,0,0,.55) 9%,
      rgba(0,0,0,.90) 14%,
      #000 20%,
      #000 100%);
    mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.16) 4%,
      rgba(0,0,0,.55) 9%,
      rgba(0,0,0,.90) 14%,
      #000 20%,
      #000 100%);
  }
  .ggf .ggf-hero-grid::after{
    left:calc(50.5% - 255px);
    width:320px;
    background:linear-gradient(90deg,
      var(--ggf-paper) 0%,
      rgba(246,244,239,.998) 20%,
      rgba(246,244,239,.95) 42%,
      rgba(246,244,239,.72) 63%,
      rgba(246,244,239,.24) 83%,
      rgba(246,244,239,0) 100%);
  }
}
@media(min-width:741px) and (max-width:1100px){
  .ggf .ggf-photo-caption{
    width:min(450px, calc(100% - 56px));
    right:28px;
  }
}
@media(max-width:740px){
  .ggf .ggf-photo-caption{
    left:24px;
    right:24px;
    width:auto;
  }
  .ggf .ggf-photo-caption > div{
    font-size:.98rem;
  }
}

/* KIT + FOOTER · mismo tono azul premium. */
.ggf .ggf-kit,
.ggf .ggf-footer{
  background:
    radial-gradient(circle at 17% 50%, rgba(15,52,93,.55) 0%, rgba(15,52,93,0) 19%),
    linear-gradient(90deg, #061426 0%, #0a2443 39%, #071a31 100%);
}
.ggf .ggf-button-dark{
  background:#0b2f57;
  border-color:#0b2f57;
}
.ggf .ggf-button-dark:hover{
  background:#12406f;
  border-color:#12406f;
}

/* SERVICIOS · el segundo enunciado vuelve debajo. */
.ggf .ggf-services-intro h2{
  white-space:normal !important;
  max-width:640px;
  line-height:1.03;
}
.ggf .ggf-services-intro h2 br{
  display:block;
}
.ggf .ggf-services-left{
  position:relative;
  z-index:2;
}
.ggf .ggf-service-cards{
  position:relative;
  z-index:1;
}

/* MÉTODO · fondo azul premium y fusión entre imagen y texto. */
.ggf .ggf-method{
  background:
    radial-gradient(circle at 18% 30%, rgba(16,61,106,.26) 0%, rgba(16,61,106,0) 25%),
    linear-gradient(90deg, #061426 0%, #0a2443 44%, #071a31 100%);
}
.ggf .ggf-method-copy{
  color:#e8edf3;
}
.ggf .ggf-method h2,
.ggf .ggf-method-intro,
.ggf .ggf-steps li{
  color:#edf2f7;
}
.ggf .ggf-method h2{
  max-width:none;
}
.ggf .ggf-method-intro{
  color:#d5dde8;
}
.ggf .ggf-steps li{
  border-bottom-color:rgba(220,232,241,.17);
}
.ggf .ggf-steps span{
  color:#92baa2;
}
@media(min-width:741px){
  .ggf .ggf-method-photo::after{
    width:260px;
    background:linear-gradient(90deg,
      rgba(7,26,49,0) 0%,
      rgba(7,26,49,.22) 34%,
      rgba(7,26,49,.56) 58%,
      rgba(7,26,49,.86) 80%,
      #071a31 100%);
  }
}

/* FAQ · subtítulo más pequeño, verde y en minúscula. */
.ggf .ggf-faq-rest{
  display:block;
  margin-top:.22em;
  font-family:GGFManrope, Arial, sans-serif;
  font-size:.88rem;
  font-weight:650;
  letter-spacing:.05em;
  text-transform:none;
  color:var(--ggf-green);
}

/* CONTACTO FINAL · estructura inspirada en la referencia 4. */
.ggf .ggf-contact{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 50%, rgba(15,52,93,.62) 0%, rgba(15,52,93,0) 18%),
    linear-gradient(90deg, #061426 0%, #0a2443 46%, #071a31 100%);
  color:#fff;
  padding:74px 0 80px;
}
.ggf .ggf-contact::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(6,20,38,.18), rgba(6,20,38,.08));
}
.ggf .ggf-contact::after{
  content:"";
  position:absolute;
  top:-8%;
  right:-2%;
  width:min(36vw, 520px);
  height:118%;
  background-image:url('../images/hero.png');
  background-size:cover;
  background-position:center right;
  opacity:.16;
  filter:grayscale(1) blur(9px) contrast(.82) brightness(.78);
  mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 28%, #000 100%);
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 28%, #000 100%);
}
.ggf .ggf-contact-grid{
  position:relative;
  z-index:1;
  grid-template-columns:1fr;
  gap:24px;
  justify-items:center;
  text-align:center;
}
.ggf .ggf-contact h2{
  color:#f4f6fa;
  max-width:860px;
  font-size:clamp(2.7rem,3.55vw,4.2rem);
}
.ggf .ggf-contact p{
  color:#d5deea;
  font-size:1.02rem;
  margin:16px 0 24px;
}
.ggf .ggf-contact .ggf-button{
  margin-inline:auto;
  min-width:320px;
  background:#4a7c62;
  border-color:#4a7c62;
}
.ggf .ggf-contact .ggf-button:hover{
  background:#5c9376;
  border-color:#5c9376;
}
.ggf .ggf-contact-note{
  color:#c4d4e3;
  margin-top:18px;
}
.ggf .ggf-contact-data{
  border:0;
  padding:0;
  min-height:0;
  flex-direction:row;
  gap:26px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
}
.ggf .ggf-contact-data a{
  color:#eef3f8;
  font-size:1.03rem;
  gap:12px;
}
.ggf .ggf-contact-data svg{
  color:#8fb59b;
}
@media(max-width:740px){
  .ggf .ggf-contact{
    padding:56px 0 60px;
  }
  .ggf .ggf-contact::after{
    width:70vw;
    opacity:.12;
  }
  .ggf .ggf-contact .ggf-button{
    min-width:0;
    width:100%;
    max-width:420px;
  }
  .ggf .ggf-contact h2{
    max-width:540px;
  }
}

/* FOOTER · enlaces sin punto y coma. */
.ggf .ggf-footer-links{
  gap:18px;
}
.ggf .ggf-footer-links a + a::before{
  content:none;
}


/* ==================================================
   GGF · AJUSTES v1.0.8
   ================================================== */

/* HERO: mover la fusión más a la izquierda y rediseñar el banner. */
@media(min-width:741px){
  .ggf .ggf-hero-photo::before{
    width:116px;
    background:linear-gradient(90deg,
      var(--ggf-paper) 0%,
      rgba(246,244,239,.995) 24%,
      rgba(246,244,239,.95) 52%,
      rgba(246,244,239,.54) 78%,
      rgba(246,244,239,0) 100%);
  }
  .ggf .ggf-hero-photo > img{
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.12) 3.5%,
      rgba(0,0,0,.44) 7.5%,
      rgba(0,0,0,.82) 12%,
      #000 16.5%,
      #000 100%);
    mask-image:linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.12) 3.5%,
      rgba(0,0,0,.44) 7.5%,
      rgba(0,0,0,.82) 12%,
      #000 16.5%,
      #000 100%);
  }
  .ggf .ggf-hero-grid::after{
    left:calc(50.5% - 305px);
    width:250px;
    background:linear-gradient(90deg,
      var(--ggf-paper) 0%,
      rgba(246,244,239,.998) 22%,
      rgba(246,244,239,.95) 45%,
      rgba(246,244,239,.68) 67%,
      rgba(246,244,239,.2) 86%,
      rgba(246,244,239,0) 100%);
  }
}
@media(min-width:741px) and (max-width:1100px){
  .ggf .ggf-hero-grid::after{
    left:calc(50.5% - 215px);
    width:210px;
  }
}

.ggf .ggf-photo-caption{
  left:auto;
  right:30px;
  bottom:26px;
  width:min(500px, calc(100% - 60px));
  padding:14px 18px 16px;
  border-radius:10px;
  border:1px solid rgba(12,34,59,.10);
  background:rgba(251,249,244,.86);
  backdrop-filter:blur(14px);
  box-shadow:0 22px 52px rgba(13,29,48,.14);
}
.ggf .ggf-photo-caption p{
  margin-bottom:10px;
  color:#2f6b4e;
  font-size:.66rem;
  font-style:normal;
}
.ggf .ggf-photo-caption > div{
  justify-content:center;
  font-family:GGFManrope, Arial, sans-serif;
  font-size:.98rem;
  font-weight:600;
  letter-spacing:.02em;
  color:#0b203c;
  font-style:normal;
  text-transform:none;
}
.ggf .ggf-photo-caption > div span{font-style:normal}
.ggf .ggf-photo-caption span+span{
  margin-left:18px;
  padding-left:18px;
  border-left:1px solid rgba(47,107,78,.22);
}
@media(max-width:740px){
  .ggf .ggf-photo-caption{width:auto;right:24px;left:24px}
}

/* MÉTODO: imagen 60% y copy 40%, con desvanecido en la unión. */
@media(min-width:961px){
  .ggf .ggf-method{
    grid-template-columns:60% 40% !important;
  }
  .ggf .ggf-method-copy{
    padding:58px max(56px,calc((100vw - 1264px)/2)) 56px 46px;
  }
}
.ggf .ggf-method-photo{position:relative;overflow:hidden}
@media(min-width:741px){
  .ggf .ggf-method-photo::after{
    width:300px;
    background:linear-gradient(90deg,
      rgba(7,26,49,0) 0%,
      rgba(7,26,49,.18) 28%,
      rgba(7,26,49,.48) 53%,
      rgba(7,26,49,.80) 76%,
      #071a31 100%);
  }
}

/* FAQ: subtítulo más grande, pero un poco menor que el título principal. */
.ggf .ggf-faq-rest{
  display:block;
  margin-top:.16em;
  font-family:GGFNewsreader, Georgia, serif;
  font-size:clamp(1.9rem,2.4vw,2.45rem);
  line-height:1.08;
  font-weight:400;
  letter-spacing:-.02em;
  color:var(--ggf-green);
  text-transform:none;
}

/* CTA final: título del tamaño de Hablemos claro y edificio de referencia a la derecha. */
.ggf .ggf-contact h2{
  font-size:clamp(2.45rem,3vw,3rem);
  max-width:640px;
  line-height:1.08;
}
.ggf .ggf-contact::after{
  background-image:url('../images/cta-building-ref.png');
  width:min(42vw, 720px);
  right:0;
  top:0;
  height:100%;
  opacity:.28;
  filter:grayscale(1) contrast(.95) brightness(.88) blur(.6px);
  background-size:cover;
  background-position:center right;
  mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.45) 22%, #000 42%, #000 100%);
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.45) 22%, #000 42%, #000 100%);
}
@media(max-width:740px){
  .ggf .ggf-contact::after{
    width:78vw;
    opacity:.18;
  }
  .ggf .ggf-contact h2{
    font-size:clamp(2.2rem,8vw,2.85rem);
  }
}


/* ==================================================
   GGF · AJUSTES v1.0.9
   ================================================== */

/* HERO: el banner se desplaza hacia la izquierda, bajo la planta. */
@media(min-width:741px){
  .ggf .ggf-photo-caption{
    left:clamp(58px, 10%, 138px);
    right:auto;
    bottom:24px;
    width:min(420px, calc(100% - 110px));
  }
}
@media(min-width:741px) and (max-width:1100px){
  .ggf .ggf-photo-caption{
    left:48px;
    width:min(360px, calc(100% - 88px));
  }
}

/* MÉTODO: más respiración en la foto para recuperar el pañuelo y fusión real en la unión. */
@media(min-width:961px){
  .ggf .ggf-method{
    grid-template-columns:58% 42% !important;
  }
}
.ggf .ggf-method-photo{
  background:#071a31;
}
.ggf .ggf-method-photo img{
  object-position:44% center;
}
@media(min-width:741px){
  .ggf .ggf-method-photo img{
    -webkit-mask-image:linear-gradient(90deg,
      #000 0%,
      #000 66%,
      rgba(0,0,0,.92) 74%,
      rgba(0,0,0,.62) 84%,
      rgba(0,0,0,.22) 93%,
      transparent 100%);
    mask-image:linear-gradient(90deg,
      #000 0%,
      #000 66%,
      rgba(0,0,0,.92) 74%,
      rgba(0,0,0,.62) 84%,
      rgba(0,0,0,.22) 93%,
      transparent 100%);
    -webkit-mask-size:100% 100%;
    mask-size:100% 100%;
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
  }
  .ggf .ggf-method-photo::after{
    right:-1px;
    width:360px;
    background:linear-gradient(90deg,
      rgba(7,26,49,0) 0%,
      rgba(7,26,49,.12) 24%,
      rgba(7,26,49,.34) 46%,
      rgba(7,26,49,.62) 66%,
      rgba(7,26,49,.86) 84%,
      #071a31 100%);
  }
}

/* FAQ: subtítulo algo menor que el principal pero con buena presencia. */
.ggf .ggf-faq-rest{
  font-size:clamp(1.55rem,2.05vw,2.05rem);
  line-height:1.12;
}

/* CTA FINAL: una línea en desktop y sección mucho más compacta. */
.ggf .ggf-contact{
  padding:42px 0 44px;
}
.ggf .ggf-contact-grid{
  gap:14px;
}
.ggf .ggf-contact h2{
  font-size:clamp(2.3rem,2.8vw,3rem);
  max-width:none;
  white-space:nowrap;
  line-height:1.06;
}
.ggf .ggf-contact h2 br{
  display:none;
}
.ggf .ggf-contact p{
  margin:8px 0 14px;
  font-size:.95rem;
}
.ggf .ggf-contact .ggf-button{
  min-height:46px;
  min-width:290px;
  padding:11px 20px;
}
.ggf .ggf-contact-note{
  margin-top:10px;
}
.ggf .ggf-contact-data{
  gap:22px;
}
.ggf .ggf-contact::after{
  width:min(39vw, 650px);
  opacity:.34;
  background-position:center right;
}
@media(max-width:960px){
  .ggf .ggf-contact h2{
    white-space:normal;
  }
}
@media(max-width:740px){
  .ggf .ggf-contact{
    padding:44px 0 46px;
  }
  .ggf .ggf-contact h2{
    font-size:clamp(2.05rem,7.5vw,2.6rem);
  }
  .ggf .ggf-contact p{
    margin:10px 0 14px;
  }
}


/* ==================================================
   GGF · AJUSTES v1.0.10
   ================================================== */

/* MÉTODO: eliminar la línea de borde, dar más aire a la foto y centrar el copy. */
@media(min-width:961px){
  .ggf .ggf-method{
    grid-template-columns:55% 45% !important;
  }
}

.ggf .ggf-method-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.ggf .ggf-method h2,
.ggf .ggf-method-intro{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.ggf .ggf-method-intro{
  max-width:520px;
}
.ggf .ggf-steps{
  width:min(100%, 460px);
  margin-inline:auto;
}
.ggf .ggf-steps li{
  grid-template-columns:auto auto;
  justify-content:center;
  column-gap:18px;
  text-align:center;
}

.ggf .ggf-method-photo{
  position:relative;
  overflow:hidden;
  background:#071a31;
}
.ggf .ggf-method-photo img{
  object-position:42% 56%;
}
@media(min-width:741px){
  .ggf .ggf-method-photo img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .ggf .ggf-method-photo::after{
    content:"";
    position:absolute;
    z-index:2;
    top:0;
    bottom:0;
    right:-1px;
    width:430px;
    pointer-events:none;
    background:linear-gradient(90deg,
      rgba(7,26,49,0) 0%,
      rgba(7,26,49,.08) 18%,
      rgba(7,26,49,.24) 34%,
      rgba(7,26,49,.48) 52%,
      rgba(7,26,49,.74) 72%,
      rgba(7,26,49,.92) 88%,
      #071a31 100%);
  }
}
@media(max-width:740px){
  .ggf .ggf-method-copy{
    align-items:flex-start;
    text-align:left;
  }
  .ggf .ggf-method h2,
  .ggf .ggf-method-intro{
    text-align:left;
    margin-left:0;
    margin-right:0;
  }
  .ggf .ggf-steps{
    width:100%;
    margin-inline:0;
  }
  .ggf .ggf-steps li{
    grid-template-columns:38px 1fr;
    justify-content:initial;
    text-align:left;
  }
}


/* ==================================================
   GGF · AJUSTES v1.0.11
   ================================================== */

/* HERO: sustituimos el corte por una capa de fondo difuminada real. */
@media(min-width:741px){
  .ggf .ggf-hero-grid::after{
    display:none !important;
  }
  .ggf .ggf-hero-photo > img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .ggf .ggf-hero-photo::before{
    content:"";
    position:absolute;
    z-index:3;
    top:-2%;
    bottom:-2%;
    left:-1px;
    width:260px;
    pointer-events:none;
    background:linear-gradient(90deg,
      var(--ggf-paper) 0%,
      rgba(246,244,239,.995) 24%,
      rgba(246,244,239,.95) 47%,
      rgba(246,244,239,.78) 63%,
      rgba(246,244,239,.48) 79%,
      rgba(246,244,239,.16) 92%,
      rgba(246,244,239,0) 100%);
    filter:blur(14px);
  }
}
@media(min-width:741px) and (max-width:1100px){
  .ggf .ggf-hero-photo::before{width:210px;filter:blur(12px)}
}

/* MÉTODO: misma lógica, con capa azul difuminada para matar la línea del borde. */
@media(min-width:741px){
  .ggf .ggf-method-photo > img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .ggf .ggf-method-photo::after{
    content:"";
    position:absolute;
    z-index:3;
    top:-2%;
    bottom:-2%;
    right:-1px;
    width:430px;
    pointer-events:none;
    background:linear-gradient(90deg,
      rgba(7,26,49,0) 0%,
      rgba(7,26,49,.10) 18%,
      rgba(7,26,49,.26) 34%,
      rgba(7,26,49,.48) 50%,
      rgba(7,26,49,.70) 67%,
      rgba(7,26,49,.88) 84%,
      #071a31 100%);
    filter:blur(16px);
  }
  .ggf .ggf-method-copy{
    position:relative;
  }
  .ggf .ggf-method-copy::before{
    content:"";
    position:absolute;
    left:-1px;
    top:0;
    bottom:0;
    width:56px;
    transform:translateX(-100%);
    pointer-events:none;
    background:linear-gradient(90deg,
      rgba(7,26,49,0) 0%,
      rgba(7,26,49,.42) 45%,
      #071a31 100%);
    filter:blur(10px);
  }
  .ggf .ggf-method-photo img{
    object-position:40% 56%;
  }
}

/* MÉTODO: copy realmente centrado. */
.ggf .ggf-method-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.ggf .ggf-method h2,
.ggf .ggf-method-intro{
  width:100%;
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.ggf .ggf-steps{
  width:100%;
  max-width:520px;
  margin-inline:auto;
  display:grid;
  justify-items:center;
}
.ggf .ggf-steps li{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  text-align:center;
  padding-left:0;
  padding-right:0;
}
.ggf .ggf-steps span{
  min-width:42px;
  text-align:center;
}
@media(max-width:740px){
  .ggf .ggf-method-copy,
  .ggf .ggf-method h2,
  .ggf .ggf-method-intro,
  .ggf .ggf-steps li{
    text-align:center !important;
  }
  .ggf .ggf-method-copy{
    align-items:center !important;
  }
  .ggf .ggf-steps{
    max-width:430px;
  }
  .ggf .ggf-steps li{
    display:flex;
    justify-content:center;
    gap:14px;
    grid-template-columns:none !important;
  }
}


/* ==================================================
   GGF · AJUSTES v1.0.12
   ================================================== */

/* Márgenes globales consistentes. */
.ggf{
  --ggf-side-margin:max(56px, calc((100vw - 1264px) / 2));
}
@media(max-width:1200px){
  .ggf{--ggf-side-margin:36px;}
}
@media(max-width:960px){
  .ggf{--ggf-side-margin:24px;}
}

/* HERO: eliminar la línea usando superposición real del bloque de texto sobre la foto. */
.ggf .ggf-hero-copy{
  padding-left:var(--ggf-side-margin) !important;
  position:relative;
  z-index:3;
  background:var(--ggf-paper);
}
@media(min-width:741px){
  .ggf .ggf-hero-grid::after,
  .ggf .ggf-hero-photo::before{
    display:none !important;
  }
  .ggf .ggf-hero-photo{
    margin-left:-128px;
    z-index:1;
  }
  .ggf .ggf-hero-photo > img{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .ggf .ggf-hero-copy::after{
    content:"";
    position:absolute;
    z-index:4;
    top:0;
    right:-220px;
    width:320px;
    height:100%;
    pointer-events:none;
    background:linear-gradient(90deg,
      var(--ggf-paper) 0%,
      rgba(246,244,239,.996) 24%,
      rgba(246,244,239,.94) 45%,
      rgba(246,244,239,.76) 62%,
      rgba(246,244,239,.44) 79%,
      rgba(246,244,239,.14) 92%,
      rgba(246,244,239,0) 100%);
    filter:blur(18px);
  }
  .ggf .ggf-photo-caption{
    left:auto !important;
    right:var(--ggf-side-margin) !important;
    width:min(396px, calc(100% - var(--ggf-side-margin) - 24px)) !important;
    max-width:396px;
  }
}
@media(min-width:741px) and (max-width:1100px){
  .ggf .ggf-hero-photo{margin-left:-92px;}
  .ggf .ggf-hero-copy::after{
    right:-170px;
    width:250px;
    filter:blur(15px);
  }
}
@media(max-width:740px){
  .ggf .ggf-hero-copy::after{display:none;}
  .ggf .ggf-hero-photo{margin-left:0;}
  .ggf .ggf-photo-caption{left:24px !important; right:24px !important; width:auto !important;}
}

/* MÉTODO: quitar la línea con una capa azul del lado del copy y volver a alinear a la izquierda. */
@media(min-width:741px){
  .ggf .ggf-method{
    grid-template-columns:56% 44% !important;
  }
  .ggf .ggf-method-photo{
    margin-right:-132px;
    z-index:1;
    background:#071a31;
  }
  .ggf .ggf-method-photo > img,
  .ggf .ggf-method-photo::after{
    -webkit-mask-image:none !important;
    mask-image:none !important;
    display:block;
  }
  .ggf .ggf-method-copy{
    position:relative;
    z-index:3;
    background:#071a31;
    padding:65px var(--ggf-side-margin) 65px 78px !important;
    align-items:flex-start !important;
    text-align:left !important;
  }
  .ggf .ggf-method-copy::before{
    content:"";
    position:absolute;
    z-index:4;
    top:0;
    left:-240px;
    width:340px;
    height:100%;
    pointer-events:none;
    background:linear-gradient(90deg,
      rgba(7,26,49,0) 0%,
      rgba(7,26,49,.16) 24%,
      rgba(7,26,49,.40) 45%,
      rgba(7,26,49,.68) 63%,
      rgba(7,26,49,.88) 82%,
      #071a31 100%);
    filter:blur(16px);
  }
  .ggf .ggf-method h2,
  .ggf .ggf-method-intro{
    width:100%;
    max-width:560px;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
  }
  .ggf .ggf-method-intro{
    margin-bottom:30px;
  }
  .ggf .ggf-steps{
    width:100%;
    max-width:520px;
    margin:0 !important;
    display:block !important;
  }
  .ggf .ggf-steps li{
    width:100%;
    display:grid !important;
    grid-template-columns:38px 1fr !important;
    justify-content:flex-start !important;
    align-items:center;
    gap:20px;
    text-align:left !important;
    padding-left:0;
    padding-right:0;
  }
  .ggf .ggf-steps span{
    min-width:0;
    text-align:left;
  }
  .ggf .ggf-method-photo img{
    object-position:42% 58%;
  }
}
@media(min-width:741px) and (max-width:1100px){
  .ggf .ggf-method-photo{margin-right:-92px;}
  .ggf .ggf-method-copy{padding-left:52px !important;}
  .ggf .ggf-method-copy::before{
    left:-180px;
    width:250px;
    filter:blur(14px);
  }
}
@media(max-width:740px){
  .ggf .ggf-method-copy{
    align-items:flex-start !important;
    text-align:left !important;
    padding:42px 24px !important;
  }
  .ggf .ggf-method h2,
  .ggf .ggf-method-intro,
  .ggf .ggf-steps li{
    text-align:left !important;
  }
  .ggf .ggf-method-photo{margin-right:0;}
  .ggf .ggf-method-copy::before{display:none;}
}

/* v1.0.13 — Single image fade, above a uniform section background.
   No blurred overlays over text; each photo owns its transition. */
.ggf{--ggf-navy:#071a31;}
.ggf .ggf-hero,
.ggf .ggf-hero-grid{background:var(--ggf-paper);}
.ggf .ggf-hero-copy{background:transparent;}
.ggf .ggf-hero-copy::before,
.ggf .ggf-hero-copy::after,
.ggf .ggf-hero-grid::after,
.ggf .ggf-hero-photo::before,
.ggf .ggf-hero-photo::after,
.ggf .ggf-method-photo::before,
.ggf .ggf-method-photo::after,
.ggf .ggf-method-copy::before,
.ggf .ggf-method-copy::after{display:none !important;}
.ggf .ggf-hero-photo{background:transparent;}
.ggf .ggf-hero-photo > img,
.ggf .ggf-method-photo > img{
  transform:none !important;
  filter:none;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}
.ggf .ggf-method,
.ggf .ggf-method-photo,
.ggf .ggf-method-copy{background:var(--ggf-navy);}
.ggf .ggf-method{overflow:hidden;}
.ggf .ggf-method h2{white-space:normal !important;text-wrap:balance;line-height:1.14;}
.ggf .ggf-contact{
  background:linear-gradient(180deg,transparent 0%,var(--ggf-navy) 100%),
    radial-gradient(ellipse at 30% 0%,#103354 0%,var(--ggf-navy) 75%);
  padding-block:54px 44px;
}
.ggf .ggf-contact::before{display:none;}
.ggf .ggf-contact::after{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 65%),linear-gradient(180deg,#000 0%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent,#000 65%),linear-gradient(180deg,#000 0%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
  opacity:.24;
}
.ggf .ggf-contact h2{white-space:normal;max-width:none;text-wrap:balance;}
.ggf .ggf-contact h2 br::after{content:' ';}
.ggf .ggf-footer{background:var(--ggf-navy);border:0;margin-top:0;}
.ggf .ggf-footer > .ggf-container{border-top:1px solid rgba(255,255,255,.12);padding-top:28px;}
.ggf .ggf-footer{padding-top:0;}
@media(min-width:741px){
  .ggf .ggf-hero-grid{grid-template-columns:50% 50%;}
  .ggf .ggf-hero-copy{z-index:3;padding-right:28px;}
  .ggf .ggf-hero-photo{margin-left:-80px;width:calc(100% + 80px);z-index:1;}
  .ggf .ggf-hero-photo > img{
    object-position:55% center;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 5%,rgba(0,0,0,.35) 12%,rgba(0,0,0,.75) 21%,#000 32%) !important;
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 5%,rgba(0,0,0,.35) 12%,rgba(0,0,0,.75) 21%,#000 32%) !important;
  }
  .ggf .ggf-method{grid-template-columns:54% 46% !important;}
  .ggf .ggf-method-photo{margin:0;min-width:0;}
  .ggf .ggf-method-photo > img{
    width:100%;height:100%;object-fit:cover;object-position:42% 58%;
    -webkit-mask-image:linear-gradient(90deg,#000 48%,rgba(0,0,0,.92) 60%,rgba(0,0,0,.65) 74%,rgba(0,0,0,.22) 90%,transparent 100%) !important;
    mask-image:linear-gradient(90deg,#000 48%,rgba(0,0,0,.92) 60%,rgba(0,0,0,.65) 74%,rgba(0,0,0,.22) 90%,transparent 100%) !important;
  }
  .ggf .ggf-method-copy{padding:60px var(--ggf-side-margin) 60px 36px !important;}
  .ggf .ggf-method h2{font-size:clamp(1.9rem,2.65vw,3rem);}
}
@media(max-width:740px){
  .ggf .ggf-hero-photo{margin:0;width:100%;}
  .ggf .ggf-hero-photo > img{
    -webkit-mask-image:linear-gradient(180deg,transparent,#000 24%) !important;
    mask-image:linear-gradient(180deg,transparent,#000 24%) !important;
  }
  .ggf .ggf-method-photo{margin:0;}
  .ggf .ggf-method-photo > img{
    -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%) !important;
    mask-image:linear-gradient(180deg,#000 55%,transparent 100%) !important;
  }
  .ggf .ggf-method-copy{padding-top:12px !important;}
  .ggf .ggf-method h2{font-size:clamp(2rem,7vw,2.6rem);}
  .ggf .ggf-contact{padding-block:44px 34px;}
}

/* v1.0.14 — El título completo ocupa una sola línea.
   El tamaño sigue el ancho disponible del texto, también en móvil. */
.ggf .ggf-method-copy{container-type:inline-size;}
.ggf .ggf-method h2{
  white-space:nowrap !important;
  text-wrap:nowrap;
  max-width:none !important;
  font-size:clamp(1rem,2vw,2.5rem);
  font-size:min(3rem,7.5cqw);
  letter-spacing:-.035em;
}


/* ==================================================
   GGF · AJUSTES v1.0.15 — texto + responsive
   Diseño de escritorio sin cambios.
   ================================================== */

/* MÓVIL: hero con imagen primero y transición inferior hacia el contenido. */
@media(max-width:740px){
  .ggf .ggf-hero-grid{
    display:flex !important;
    flex-direction:column !important;
  }
  .ggf .ggf-hero-photo{
    order:1;
    margin:14px 14px 0 !important;
    width:calc(100% - 28px) !important;
    aspect-ratio:1.28;
    border-radius:10px;
    overflow:hidden;
    background:var(--ggf-paper);
    box-shadow:0 10px 30px rgba(7,26,49,.08);
  }
  .ggf .ggf-hero-copy{
    order:2;
    padding-top:34px !important;
  }
  .ggf .ggf-hero-photo > img{
    object-position:56% center !important;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 80%,rgba(0,0,0,.72) 89%,rgba(0,0,0,.28) 96%,transparent 100%) !important;
    mask-image:linear-gradient(180deg,#000 0%,#000 80%,rgba(0,0,0,.72) 89%,rgba(0,0,0,.28) 96%,transparent 100%) !important;
  }

  /* MÓVIL: pasos alineados al mismo margen izquierdo que el contenido. */
  .ggf .ggf-method-copy{
    align-items:flex-start !important;
    text-align:left !important;
  }
  .ggf .ggf-method h2,
  .ggf .ggf-method-intro{
    text-align:left !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .ggf .ggf-steps{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    display:block !important;
    justify-items:initial !important;
  }
  .ggf .ggf-steps li{
    width:100% !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    justify-content:stretch !important;
    align-items:center !important;
    gap:16px !important;
    text-align:left !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .ggf .ggf-steps span{
    min-width:0 !important;
    text-align:left !important;
  }
}

/* TABLET: 10 px más de aire lateral en el contenido de todas las secciones. */
@media(min-width:741px) and (max-width:960px){
  .ggf{--ggf-side-margin:34px !important;}
  .ggf .ggf-container{width:calc(100% - 68px) !important;}
  .ggf .ggf-hero-copy{
    padding-left:34px !important;
    padding-right:38px !important;
  }
  .ggf .ggf-method-copy{
    padding-right:34px !important;
  }
}

/* MÓVIL + TABLET: footer completamente centrado. */
@media(max-width:960px){
  .ggf .ggf-footer-row{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    text-align:center !important;
  }
  .ggf .ggf-footer-brand{
    margin:0 auto !important;
  }
  .ggf .ggf-footer-place{
    border-left:0 !important;
    padding-left:0 !important;
    margin:0 !important;
    text-align:center !important;
  }
  .ggf .ggf-footer-links{
    width:auto !important;
    justify-content:center !important;
    margin:0 auto !important;
    text-align:center !important;
  }
  .ggf .ggf-copyright{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* ==================================================
   GGF · AJUSTES v1.0.16 — cierre responsive
   Escritorio intacto.
   ================================================== */

/* MÓVIL: recuperar exactamente la composición del hero de v1.0.14. */
@media(max-width:740px){
  .ggf .ggf-hero-grid{
    display:flex !important;
    flex-direction:column !important;
  }
  .ggf .ggf-hero-copy{
    order:initial !important;
    padding-top:49px !important;
  }
  .ggf .ggf-hero-photo{
    order:initial !important;
    margin:0 !important;
    width:100% !important;
    min-height:0 !important;
    aspect-ratio:1.08 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
  .ggf .ggf-hero-photo > img{
    object-position:center 47% !important;
    -webkit-mask-image:linear-gradient(180deg,transparent,#000 24%) !important;
    mask-image:linear-gradient(180deg,transparent,#000 24%) !important;
  }
}

/* TABLET: dar más anchura visual a la fotografía y desplazar el encuadre
   hacia la derecha para recuperar al hombre, sin tocar escritorio. */
@media(min-width:741px) and (max-width:960px){
  .ggf .ggf-hero-grid{
    grid-template-columns:46% 54% !important;
  }
  .ggf .ggf-hero-photo{
    margin-left:-58px !important;
    width:calc(100% + 58px) !important;
  }
  .ggf .ggf-hero-photo > img{
    object-position:68% center !important;
  }
}


/* ==================================================
   GGF · PÁGINAS LEGALES (v1.0.17)
   Reutilizan sin cambios visuales el header y footer de la landing.
   ================================================== */
.ggf .ggf-legal-main{background:#fff;padding:72px 0 96px;min-height:65vh}
.ggf .ggf-legal-container{max-width:1040px}
.ggf .ggf-legal-main .ggf-eyebrow{margin-bottom:14px}
.ggf .ggf-legal-main h1{font-size:clamp(3rem,4.5vw,5rem);line-height:1.02;margin-bottom:14px}
.ggf .ggf-legal-updated{color:var(--ggf-muted);font-size:.86rem;margin-bottom:48px}
.ggf .ggf-legal-main section{padding:0 0 31px;margin:0 0 31px;border-bottom:1px solid var(--ggf-line)}
.ggf .ggf-legal-main section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.ggf .ggf-legal-main section h2{font-family:GGFManrope,Arial,sans-serif;font-size:1.08rem;line-height:1.45;font-weight:700;letter-spacing:0;margin-bottom:13px;color:var(--ggf-ink)}
.ggf .ggf-legal-main section p{font-size:.98rem;line-height:1.85;color:#3f494c;margin:0 0 12px;max-width:920px}
.ggf .ggf-legal-main section p:last-child{margin-bottom:0}
.ggf .ggf-legal-main section a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#9cb2a3}
.ggf .ggf-cookie-settings{appearance:none;border:1px solid var(--ggf-green);background:var(--ggf-green);color:#fff;border-radius:3px;padding:12px 18px;font:600 .9rem GGFManrope,Arial,sans-serif;cursor:pointer;transition:transform .18s,background .18s}
.ggf .ggf-cookie-settings:hover{background:var(--ggf-deep);transform:translateY(-1px)}
@media(max-width:960px){.ggf .ggf-legal-main{padding:58px 0 76px}.ggf .ggf-legal-container{width:calc(100% - 68px)}}
@media(max-width:740px){.ggf .ggf-legal-main{padding:44px 0 60px}.ggf .ggf-legal-container{width:calc(100% - 48px)}.ggf .ggf-legal-main h1{font-size:clamp(2.7rem,11vw,4rem)}.ggf .ggf-legal-updated{margin-bottom:36px}.ggf .ggf-legal-main section{padding-bottom:25px;margin-bottom:25px}.ggf .ggf-legal-main section p{font-size:.94rem;line-height:1.75}}


/* ==================================================
   GGF · HERO ANIMACIÓN VISIBLE (v1.0.21)
   ================================================== */
.ggf .ggf-hero-copy > *{opacity:0;transform:translate3d(0,26px,0);transition:opacity .72s ease,transform .92s cubic-bezier(.22,.8,.22,1)}
.ggf .ggf-hero-copy .ggf-eyebrow{transition-delay:.04s}
.ggf .ggf-hero-copy h1{transition-delay:.14s}
.ggf .ggf-hero-copy .ggf-hero-description{transition-delay:.24s}
.ggf .ggf-hero-copy .ggf-hero-actions{transition-delay:.34s}
.ggf .ggf-hero-copy .ggf-hero-note{transition-delay:.44s}
.ggf .ggf-hero-photo > img{opacity:0;transform:translate3d(24px,var(--ggf-photo-shift),0) scale(1.085);transition:opacity .9s ease,transform 1.35s cubic-bezier(.2,.8,.2,1)}
.ggf .ggf-photo-caption{opacity:0;transform:translate3d(0,18px,0);transition:opacity .78s ease,transform 1.05s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,background-color .45s ease}
.ggf .ggf-hero.is-ready .ggf-hero-copy > *{opacity:1;transform:none}
.ggf .ggf-hero.is-ready .ggf-hero-photo > img{opacity:1;transform:translate3d(0,var(--ggf-photo-shift),0) scale(1.045)}
.ggf .ggf-hero.is-ready .ggf-photo-caption{opacity:1;transform:none;animation:ggfHeroCaptionFloat 5.8s ease-in-out 1.2s infinite}
.ggf .ggf-hero.is-ready .ggf-hero-copy::before{animation:ggfHeroGlow 8s ease-in-out infinite alternate, ggfHeroPulse 4.6s ease-in-out infinite}
.ggf .ggf-hero-actions .ggf-button{position:relative;overflow:hidden}
.ggf .ggf-hero-actions .ggf-button::after{content:"";position:absolute;inset:-1px auto -1px -30%;width:22%;transform:skewX(-22deg);background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.28) 50%,rgba(255,255,255,0) 100%);opacity:0;pointer-events:none}
.ggf .ggf-hero.is-ready .ggf-hero-actions .ggf-button::after{animation:ggfHeroButtonShine 4.8s ease-in-out 1.8s infinite}
@keyframes ggfHeroCaptionFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-6px,0)}}
@keyframes ggfHeroButtonShine{0%,72%,100%{left:-35%;opacity:0}78%{opacity:1}92%{left:115%;opacity:0}}
@keyframes ggfHeroPulse{0%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.88;transform:translate(-50%,-50%) scale(1.04)}}
@media(max-width:740px){.ggf .ggf-hero-copy > *{transition-duration:.58s}.ggf .ggf-hero-photo > img{transform:translate3d(0,var(--ggf-photo-shift),0) scale(1.04);opacity:1;transition:none}.ggf .ggf-hero.is-ready .ggf-photo-caption{animation:none}}
@media(prefers-reduced-motion:reduce){.ggf .ggf-hero-copy > *,.ggf .ggf-hero-photo > img,.ggf .ggf-photo-caption{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}.ggf .ggf-hero-actions .ggf-button::after{display:none}}
