/* Shared orange community footer and Cocoa navigation strip. */
/* The edge and badge extend over the preceding content, with no spacer behind them. */
.site-footer { --footer-shape: polygon(2% 8%,100% 0,98% 100%,0 92%); position:relative; z-index:1; padding:0; margin-top:0; overflow:visible; background:transparent; color:var(--cocoa); }
.site-footer .footer-connect { position:relative; isolation:isolate; background:var(--orange); padding:78px var(--gutter) 56px; scroll-margin-top:150px; }
.footer-connect::before { content:''; position:absolute; inset:-58px 0 auto; height:60px; background:var(--orange); clip-path:polygon(0 0,49% 79%,100% 20%,100% 100%,0 100%); pointer-events:none; }
.footer-emblem { position:absolute; top:-86px; left:50%; width:124px; transform:translateX(-50%); pointer-events:none; }
.footer-emblem img { width:100%; height:auto; }
.footer-layout { display:grid; grid-template-columns:minmax(150px,.9fr) minmax(200px,1fr) minmax(310px,2.1fr) minmax(180px,1.1fr); grid-template-areas:'brand social newsletter discord'; gap:clamp(26px,3vw,58px); align-items:start; max-width:1600px; margin-inline:auto; }
.footer-identity { grid-area:brand; padding-top:4px; }
.site-footer .footer-brand { display:block; width:min(100%,210px); }
.site-footer .footer-brand img { width:100%; height:auto; }
.footer-identity>p { margin-top:18px; color:var(--cocoa); font:600 clamp(15px,1.25vw,20px)/1.3 var(--font-heading); letter-spacing:-.02em; }
.site-footer .footer-social { grid-area:social; margin:0; }
.site-footer .footer-label { margin:0 0 18px; font:700 17px/1.3 var(--font-heading); letter-spacing:-.015em; }
.site-footer .social-links { display:flex; flex-wrap:wrap; gap:8px; max-width:210px; }
.site-footer .social-links a { position:relative; isolation:isolate; display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border:0; border-radius:0; background:none; color:var(--orange); transition:transform .25s var(--ease),color .25s; }
.site-footer .social-links a::before { content:''; position:absolute; inset:0; z-index:-1; background:var(--white); clip-path:polygon(5% 7%,100% 0,95% 100%,0 93%); transition:background .25s; }
.site-footer .social-links a:is(:hover,:focus-visible) { background:none; color:var(--cream); transform:translateY(-3px); }
.site-footer .social-links a:is(:hover,:focus-visible)::before { background:var(--cocoa); }
.site-footer .social-links svg { width:19px; height:19px; }
.footer-newsletter { grid-area:newsletter; min-width:0; scroll-margin-top:128px; }
.footer-discord { grid-area:discord; min-width:0; }
.site-footer .footer-newsletter h2,.site-footer .footer-discord h2 { color:var(--cocoa); font:700 clamp(21px,1.75vw,28px)/1.12 var(--font-heading); letter-spacing:-.035em; text-wrap:balance; margin:0; }
.site-footer .footer-intro { margin:13px 0 21px; font-size:14px; line-height:1.55; color:var(--cocoa); max-width:390px; }
.site-footer .newsletter-action { width:100%; }
.site-footer .newsletter-form { position:relative; margin:0; }
.site-footer .newsletter-form[hidden] { display:none; }
.site-footer .footer-email-row { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) 56px; min-height:60px; }
.footer-email-row::before { content:''; position:absolute; z-index:-1; inset:0; background:var(--cream); clip-path:var(--footer-shape); }
.site-footer .footer-email-row input { width:100%; min-width:0; border:0; border-radius:0; padding:17px 18px; background:transparent; color:var(--cocoa); font-size:16px; line-height:1.5; color-scheme:light; }
.site-footer .footer-email-row input::placeholder { color:var(--walnut); opacity:1; }
.site-footer .footer-email-row:focus-within { outline:2px solid var(--cocoa); outline-offset:5px; }
.site-footer .footer-email-row input:focus { outline:none; }
.site-footer .newsletter-submit { position:relative; isolation:isolate; display:grid; place-items:center; margin:5px; min-width:46px; min-height:50px; padding:0; border:0; background:transparent; color:var(--cream); }
.newsletter-submit::before { content:''; position:absolute; z-index:-1; inset:2px; background:var(--cocoa); clip-path:var(--footer-shape); transition:inset .25s var(--ease); }
.site-footer .newsletter-submit svg { width:23px; height:23px; transition:transform .25s var(--ease); }
.site-footer .newsletter-submit:is(:hover,:focus-visible)::before { inset:0; }
.site-footer .newsletter-submit:is(:hover,:focus-visible) svg { transform:translateX(2px); }
.site-footer .newsletter-submit:disabled { cursor:default; }
.site-footer .newsletter-form[data-state='pending'] .newsletter-submit { opacity:.6; }
.site-footer .newsletter-submit:disabled svg { transform:none; }
.site-footer .newsletter-honey { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.site-footer .newsletter-permission { margin:13px 0 0; color:var(--cocoa); font-size:11px; line-height:1.6; }
.site-footer .newsletter-permission a,.site-footer .newsletter-help { text-decoration:underline; text-underline-offset:3px; }
.site-footer .newsletter-permission a:hover,.site-footer .newsletter-help:hover { text-decoration-thickness:2px; }
.site-footer .newsletter-status { min-height:0; margin:0; color:var(--cocoa); font-size:13px; line-height:1.55; }
.site-footer .newsletter-status:not(:empty) { margin-top:12px; }
.site-footer .newsletter-form[data-state='success'] .newsletter-status { font-weight:700; }
.site-footer .newsletter-help { display:inline-block; margin-top:10px; color:var(--cocoa); font-size:11px; line-height:1.5; }
.site-footer .newsletter-help.is-highlighted { font-weight:700; }
.site-footer .footer-discord-link { position:relative; isolation:isolate; display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:57px; padding:17px 18px; width:100%; max-width:240px; color:var(--cocoa); font:700 14px/1.3 var(--font-heading); transition:color .25s; }
.footer-discord-link::before { content:''; position:absolute; inset:3px; z-index:-1; background:var(--cream); clip-path:var(--footer-shape); transition:inset .25s var(--ease),background .25s; }
.site-footer .footer-discord-link svg { width:20px; height:20px; flex:none; transition:transform .25s var(--ease); }
.site-footer .footer-discord-link:is(:hover,:focus-visible) { color:var(--cream); }
.site-footer .footer-discord-link:is(:hover,:focus-visible)::before { inset:0; background:var(--cocoa); }
.site-footer .footer-discord-link:is(:hover,:focus-visible) svg { transform:translate(2px,-2px); }
.site-footer .footer-connect :is(a,button):focus-visible { outline:2px solid var(--cocoa); outline-offset:5px; }
.site-footer .footer-signoff { padding:27px var(--gutter) 23px; background:var(--cocoa); color:var(--cream); text-align:center; }
.site-footer .footer-links { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:0; margin:0 auto 14px; }
.site-footer .footer-links a { position:relative; display:inline-flex; align-items:center; min-height:44px; padding:8px clamp(10px,1.1vw,21px); font:600 14px/1.4 var(--font-heading); letter-spacing:0; color:var(--cream); transition:color .25s; }
.site-footer .footer-links a+a::before { content:''; position:absolute; left:0; width:1px; height:15px; background:#f5ecdd33; }
.site-footer .footer-links a:hover { color:var(--orange); }
.site-footer .footer-copyright { font-size:12px; line-height:1.6; color:var(--latte); letter-spacing:0; }
.site-footer .footer-motion { display:inline-flex; justify-content:center; align-items:center; gap:7px; min-height:44px; margin:4px auto 0; padding:8px; color:var(--latte); font:400 11px/1.4 var(--font-heading); letter-spacing:0; }
.site-footer .footer-motion svg { width:13px; height:13px; }
.site-footer .footer-motion:hover { color:var(--cream); }
@media (min-width:1650px) { .site-footer .footer-intro { font-size:15px; } }
@media (max-width:1100px) {
  .footer-layout { grid-template-columns:minmax(220px,1fr) minmax(320px,1.5fr); grid-template-areas:'brand newsletter' 'social discord'; gap:32px 10%; max-width:880px; }
  .footer-identity { align-self:center; }
  .site-footer .footer-connect { padding-bottom:48px; }
  .site-footer .footer-discord-link { max-width:260px; }
  .site-footer .footer-links { max-width:760px; }
}
@media (max-width:700px) {
  .site-footer .footer-connect { padding:60px var(--gutter) 40px; }
  .footer-connect::before { top:-37px; height:39px; }
  .footer-emblem { top:-63px; width:97px; }
  .footer-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:'brand' 'social' 'newsletter' 'discord'; gap:28px; max-width:440px; }
  .footer-identity { text-align:center; }
  .site-footer .footer-brand { width:190px; margin:0 auto; }
  .footer-identity>p { margin-top:10px; font-size:17px; }
  .site-footer .footer-social { text-align:center; }
  .site-footer .footer-label { position:absolute; width:1px; height:1px; margin:-1px; padding:0; clip-path:inset(50%); overflow:hidden; }
  .site-footer .social-links { justify-content:center; margin:0 auto; max-width:210px; }
  .site-footer .footer-newsletter { border-top:1px solid #2a1a1233; padding-top:28px; }
  .site-footer .footer-newsletter h2,.site-footer .footer-discord h2 { font-size:24px; }
  .site-footer .footer-intro { font-size:14px; margin-bottom:18px; }
  .site-footer .footer-discord { border-top:1px solid #2a1a1233; padding-top:25px; }
  .site-footer .footer-signoff { padding:22px var(--gutter) 74px; }
  .site-footer .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); text-align:left; gap:2px 14px; max-width:440px; margin-bottom:22px; }
  .site-footer .footer-links a { padding:6px 0; min-height:44px; font-size:13px; }
  .site-footer .footer-links a+a::before { display:none; }
  .site-footer .footer-copyright { font-size:11px; }
}
.motion-paused .site-footer :is(a,svg),.motion-paused .site-footer ::before { transition:none; }
.motion-paused .site-footer a:is(:hover,:focus-visible),.motion-paused .site-footer a:is(:hover,:focus-visible) svg,.motion-paused .site-footer .newsletter-submit svg { transform:none; }
@media (prefers-reduced-motion:reduce) {
  .site-footer :is(a,svg),.site-footer ::before { transition:none; }
  .site-footer a:is(:hover,:focus-visible),.site-footer a:is(:hover,:focus-visible) svg,.site-footer .newsletter-submit svg { transform:none; }
}
@media (forced-colors:active) {
  .site-footer .footer-connect,.site-footer .footer-signoff { background:Canvas; color:CanvasText; }
  .site-footer .footer-connect::before,.site-footer .footer-emblem,.site-footer a::before,.site-footer .footer-email-row::before,.site-footer .newsletter-submit::before { display:none; }
  .site-footer .social-links a,.site-footer .footer-discord-link,.site-footer .footer-email-row,.site-footer .newsletter-submit { border:1px solid ButtonText; color:ButtonText; }
  .site-footer .footer-newsletter h2,.site-footer .footer-discord h2,.site-footer p,.site-footer a,.site-footer .footer-motion { color:CanvasText; }
}
