/* One footer for every page, the front page included: the wordmark set huge and fading into
   the ground, one device floating sharp over it, then the routes as dashed uppercase rows.
   Self-contained, so it renders the same inside the Framer front page. */
.gs-footer { --site-display:'Inter Display','Instrument Sans',system-ui,sans-serif; --site-ground:#151515; --site-paper:#fef9ed; --site-yellow:#fbe154; --site-muted:#aaa79f; --site-rule:#fef9ed26; --site-gutter:clamp(18px,4vw,48px);
  box-sizing:border-box; position:relative; width:calc(100% - 2 * var(--site-gutter)); max-width:1320px; margin:48px auto 0; padding:0 0 28px; color:var(--site-paper); }
body.carousel-mode .gs-footer { display:none; }
.gs-footer * { box-sizing:border-box; }
.gs-footer-stage { position:relative; display:grid; grid-template:100% / 100%; place-items:end center; height:clamp(170px,19vw,290px); overflow:hidden; pointer-events:none; user-select:none; }
.gs-footer-word { position:absolute; left:50%; bottom:-.12em; transform:translateX(-50%); font:600 clamp(60px,18.6vw,276px)/.8 var(--site-display); letter-spacing:-.06em; white-space:nowrap; background:linear-gradient(180deg,#fef9ed2e,#fef9ed08 78%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.gs-footer-art { position:relative; z-index:1; display:block; width:auto; height:auto; max-height:94%; max-width:min(34%,440px); object-fit:contain; transform:translateY(6%) rotate(-6deg); filter:drop-shadow(0 30px 24px #000a) drop-shadow(0 8px 8px #0008); }
.gs-footer-stage::before { content:''; position:absolute; left:50%; bottom:-10%; width:56%; height:110%; transform:translateX(-50%); background:radial-gradient(closest-side,#fbe15414,transparent); }
.gs-footer-stage::after { content:''; position:absolute; inset:auto 0 0; height:38%; z-index:2; background:linear-gradient(180deg,transparent,var(--site-ground)); }
.gs-footer-grid { display:grid; grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)); gap:0 40px; padding-top:28px; border-top:1px dashed var(--site-rule); }
.gs-footer-logo { display:inline-flex; align-items:flex-start; gap:0; font:600 24px/1 var(--site-display)!important; letter-spacing:-.06em; color:var(--site-paper); text-decoration:none; }
.gs-footer-logo i { display:block; width:26px; height:26px; margin-right:10px; border-radius:6px; overflow:hidden; }
.gs-footer-logo i svg { display:block; width:100%; height:100%; }
.gs-footer-logo sup { font-size:9px; line-height:1; letter-spacing:0; margin:-3px 0 0 2px; }
.gs-footer-brand p { max-width:330px; margin:16px 0 0; font:600 13px/1.3 var(--site-display)!important; letter-spacing:-.02em; text-transform:uppercase; color:var(--site-muted); }
.gs-footer nav ul { margin:0; padding:0; list-style:none; }
.gs-footer nav li { border-bottom:1px dashed var(--site-rule); }
.gs-footer nav a,.gs-footer-base > * { display:flex; align-items:center; min-height:40px; font:600 13px/1.2 var(--site-display)!important; letter-spacing:-.02em; text-transform:uppercase; color:var(--site-muted); text-decoration:none; transition:color .25s ease; }
.gs-footer-base { display:flex; justify-content:space-between; gap:24px; margin-top:40px; border-block:1px dashed var(--site-rule); }
.gs-footer-base > a { color:var(--site-paper); }
@media(hover:hover) { .gs-footer nav a:hover,.gs-footer-base > a:hover { color:var(--site-paper); } }
.gs-footer a:focus-visible { outline:2px solid var(--site-yellow); outline-offset:2px; }
@media(max-width:860px) {
  .gs-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 20px; }
  .gs-footer-brand { grid-column:1/-1; margin-bottom:24px; }
  .gs-footer-art { max-width:min(46%,340px); max-height:86%; }
}
@media(max-width:520px) {
  .gs-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gs-footer nav:last-child { grid-column:1/-1; }
  .gs-footer nav:last-child ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
  .gs-footer-stage { height:176px; place-items:start center; }
  .gs-footer-art { max-width:50%; max-height:70%; transform:translateY(12%) rotate(-6deg); }
  .gs-footer-base { flex-wrap:wrap; gap:0 16px; }
  .gs-footer-base > span:nth-child(2) { display:none; }
}

/* The front page: the template's footer (a blurred, upside-down copy of the hero video under a
   wordmark that crops on narrow screens) gives way to this one, which follows Framer's root.
   It lives here, not with the optional front-page islands, so the page never shows two footers.
   Collapsed rather than display:none, as with every Framer part we retire. */
footer.framer-dAa3R { height:0!important; min-height:0!important; padding:0!important; overflow:hidden!important; visibility:hidden!important; }
body > .gs-footer { margin-top:0; padding-top:40px; }
/* The template's floating MENU bar sits at the foot of narrow screens; the last row clears it. */
@media(max-width:809px) { body > .gs-footer { padding-bottom:104px; } }
