.gl-footer{margin-top:var(--space-12);padding-top:var(--space-10);padding-bottom:var(--space-8);border-top:1px solid var(--color-border-subtle);background:radial-gradient(circle at top left,rgba(178,139,91,0.18),rgba(247,243,234,0.98))}.gl-footer-main{display:flex;flex-direction:column;gap:var(--space-8)}.gl-footer-brand{display:flex;align-items:center;gap:var(--space-3)}.gl-footer-brand-mark{width:34px;height:34px;border-radius:50%;border:1px solid rgba(178,139,91,0.7);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:var(--font-size-sm);letter-spacing:0.18em;text-transform:uppercase;background:linear-gradient(145deg,#111713,rgba(31,61,51,0.94));color:#f8f1e4}.gl-footer-name{font-family:var(--font-serif);letter-spacing:0.16em;text-transform:uppercase;font-size:0.9rem;color:var(--gray-900)}.gl-footer-tagline{font-size:var(--font-size-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--color-text-soft);margin-top:2px}.gl-footer-grid{display:grid;grid-template-columns:2fr 1.4fr 1.4fr;gap:var(--space-6);margin-top:var(--space-4)}@media(max-width:960px){.gl-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.gl-footer-grid{grid-template-columns:minmax(0,1fr)}}.gl-footer-heading{font-family:var(--font-serif);font-size:var(--font-size-lg);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:var(--space-3)}.gl-footer-copy{font-size:var(--font-size-sm);color:var(--color-text-soft);max-width:28rem}.gl-footer-links{display:flex;flex-direction:column;gap:6px;font-size:var(--font-size-sm)}.gl-footer-links a{color:var(--gray-800);position:relative;padding:2px 0}.gl-footer-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:linear-gradient(90deg,var(--color-accent-bronze),var(--color-accent-burgundy));transition:width var(--transition-base)}.gl-footer-links a:hover::after,.gl-footer-links a:focus-visible::after{width:100%}.gl-footer-bottom{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;align-items:center;border-top:1px solid rgba(0,0,0,0.06);padding-top:var(--space-4);margin-top:var(--space-2)}.gl-footer-meta{font-size:var(--font-size-xs);color:var(--color-text-soft)}.gl-footer-meta-right{text-align:right}@media(max-width:640px){.gl-footer-meta-right{text-align:left}}.gl-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;transform:translateY(100%);opacity:0;pointer-events:none;transition:transform var(--transition-slow),opacity var(--transition-slow);background:rgba(17,23,19,0.98);color:#f7efe1;box-shadow:0 -18px 40px rgba(0,0,0,0.5)}.gl-cookie-banner.gl-cookie-visible{transform:translateY(0);opacity:1;pointer-events:auto}.gl-cookie-inner{max-width:var(--layout-max-width);margin:0 auto;padding:var(--space-4) var(--space-5);display:flex;align-items:flex-start;gap:var(--space-6)}@media(max-width:768px){.gl-cookie-inner{flex-direction:column;align-items:stretch;padding:var(--space-4)}}.gl-cookie-main{flex:1;min-width:0}.gl-cookie-label{font-size:var(--font-size-xs);letter-spacing:0.18em;text-transform:uppercase;color:rgba(247,239,225,0.82);margin-bottom:4px}.gl-cookie-text{font-size:var(--font-size-sm);color:rgba(247,239,225,0.9);margin-bottom:4px}.gl-cookie-text-small{font-size:var(--font-size-xs);color:rgba(247,239,225,0.75)}.gl-cookie-link{display:inline-flex;margin-top:4px;font-size:var(--font-size-xs);letter-spacing:0.16em;text-transform:uppercase;color:var(--color-accent-bronze)}.gl-cookie-link:hover,.gl-cookie-link:focus-visible{color:#ffd49a}.gl-cookie-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:flex-end}@media(max-width:768px){.gl-cookie-actions{justify-content:flex-start}}.gl-cookie-btn{font-size:var(--font-size-xs);padding:8px 18px}.gl-cookie-btn-secondary{background:transparent;border:1px solid rgba(247,239,225,0.45);color:rgba(247,239,225,0.9)}.gl-cookie-btn-secondary:hover{background:rgba(247,239,225,0.08)}.gl-cookie-banner[hidden]{display:none}.gl-cookie-banner:focus-visible{outline:none;box-shadow:var(--shadow-focus)}