/* Footer tweaks: balanced intro sentence, shorter link boxes, contact block on the left */
.footer-1-main-title{font-size:2em;line-height:1.6em}
.footer-1-large-button{padding-top:1.4em;padding-bottom:1.4em}
.footer-1-large-button-icon{width:4.4em;height:4.4em}
.footer-1-contact{display:grid;grid-template-columns:1fr 1fr;grid-column-gap:3em;grid-row-gap:2.4em;width:100%;padding-top:1.5em;border-top:1px solid var(--alt-color-50-opacity)}
.footer-1-contact-item{display:flex;flex-direction:column;grid-row-gap:.9em;align-items:flex-start}
.footer-1-contact-item p,.footer-1-contact-item a{color:var(--alt-color-9);font-size:1.3em;line-height:1.5em;margin:0}
.footer-1-contact-item a:hover{color:var(--alt-color-14)}
@media screen and (max-width:991px){.footer-1-main-title{font-size:2em}}
@media screen and (max-width:479px){.footer-1-main-title{font-size:1.9em}.footer-1-contact{grid-template-columns:1fr}}
/* Footer credits: hosted-by line + signature, centred, with a soft reveal */
.footer-1{flex-direction:column}
.gmh-credits{position:relative;z-index:20;width:100%;padding:4.5em 2em 5em;text-align:center;color:var(--color-11);isolation:isolate;overflow:hidden}
.gmh-credits:before{content:"";position:absolute;top:0;left:50%;width:min(72%,980px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--alt-color-50-opacity) 20%,var(--alt-color-11) 50%,var(--alt-color-50-opacity) 80%,transparent);background-size:200% 100%;animation:gmh-sheen 6s linear infinite}
.gmh-credits:after{content:"";position:absolute;z-index:-1;left:50%;top:55%;width:42em;height:16em;transform:translate(-50%,-50%);background:radial-gradient(closest-side,#228a6626,#2a8dda14 55%,transparent);filter:blur(10px);pointer-events:none;animation:gmh-breathe 7s ease-in-out infinite}
.gmh-credits-inner{display:flex;flex-direction:column;align-items:center;row-gap:2.2em;max-width:60em;margin:0 auto}
.gmh-credits-hosted{margin:0;font-size:1.15em;line-height:1.5;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--color-10);opacity:.82}
.gmh-credits-link{position:relative;display:inline-block;margin-left:.35em;color:var(--alt-color-14);font-weight:700;text-decoration:none;transition:color .35s ease,letter-spacing .45s cubic-bezier(.2,.8,.2,1)}
.gmh-credits-link:after{content:"";position:absolute;left:0;right:0;bottom:-.35em;height:1px;background:linear-gradient(90deg,var(--alt-color-9),var(--color-7));transform:scaleX(.25);transform-origin:center;opacity:.6;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s}
.gmh-credits-link:hover,.gmh-credits-link:focus-visible{color:#fff;letter-spacing:.26em}
.gmh-credits-link:hover:after,.gmh-credits-link:focus-visible:after{transform:scaleX(1);opacity:1}
.gmh-credits-link:focus-visible{outline:1px solid var(--alt-color-50-opacity);outline-offset:.5em;border-radius:2px}
.gmh-credits-divider{display:flex;align-items:center;column-gap:.9em}
.gmh-credits-divider span{display:block;height:1px;width:3.5em;background:linear-gradient(90deg,transparent,var(--alt-color-70-opacity))}
.gmh-credits-divider span:last-child{transform:scaleX(-1)}
.gmh-credits-divider i{display:block;width:.5em;height:.5em;transform:rotate(45deg);border:1px solid var(--alt-color-11);box-shadow:0 0 12px #65e0b580;animation:gmh-spin 9s linear infinite}
.gmh-credits-sig{margin:0;display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;column-gap:.6em;row-gap:.35em;line-height:1.1}
.gmh-credits-a{font-size:1.35em;font-weight:400;font-style:italic;color:#bcd6f1}
.gmh-credits-name{position:relative;display:inline-block;font-size:2.6em;font-weight:600;letter-spacing:.005em;color:#f3f9fd;text-shadow:0 0 18px #bcd6f133;animation:gmh-glow 5s ease-in-out infinite}
@keyframes gmh-glow{0%,100%{text-shadow:0 0 14px #bcd6f122}50%{text-shadow:0 0 26px #e4eef855,0 0 2px #ffffff40}}
@keyframes gmh-sheen{0%{background-position:100% 0}100%{background-position:-150% 0}}
@keyframes gmh-breathe{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.95)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}
@keyframes gmh-spin{to{transform:rotate(405deg)}}
/* Reveal (only armed when JS runs, so the block is always visible without it) */
.gmh-credits.is-armed .gmh-reveal{opacity:0;transform:translateY(18px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
.gmh-credits.is-armed .gmh-reveal:nth-child(2){transition-delay:.15s}
.gmh-credits.is-armed .gmh-reveal:nth-child(3){transition-delay:.3s}
.gmh-credits.is-armed.is-in .gmh-reveal{opacity:1;transform:none}
@media screen and (max-width:767px){
.gmh-credits{padding:3.5em 1.5em 4em}
.gmh-credits-inner{row-gap:1.8em}
.gmh-credits-hosted{font-size:1em;letter-spacing:.16em;line-height:1.9}
.gmh-credits-link{margin-left:0}
.gmh-credits-sig{flex-direction:column;align-items:center;row-gap:.55em}
.gmh-credits-a{font-size:1.3em}
.gmh-credits-name{font-size:2.1em}
.gmh-credits-tag{font-size:1em;letter-spacing:.32em;margin-right:-.32em}
}
@media screen and (max-width:479px){.gmh-credits-hosted{display:flex;flex-direction:column;align-items:center;row-gap:.2em}.gmh-credits-name{font-size:1.9em}}
@media (prefers-reduced-motion:reduce){.gmh-credits:before,.gmh-credits:after,.gmh-credits-name,.gmh-credits-divider i{animation:none}.gmh-credits.is-armed .gmh-reveal{opacity:1;transform:none;transition:none}}
