.footer .container{display:grid;grid-template-columns:minmax(200px,1.5fr) repeat(3,minmax(140px,1fr));gap:32px;align-items:start}
.footer .footer-brand p{font-size:18px;line-height:1.5;margin:18px 0 4px}
.footer .footer-brand-line{display:block;font-size:15px;line-height:1.6;margin:0;max-width:250px}
.footer-group{min-width:0}
.footer-group h2{font:600 15px/1.5 var(--serif);letter-spacing:.02em;margin:3px 0 14px;color:var(--ui-plum,#3D3063)}
.footer .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0}
.footer .footer-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;line-height:1.4;text-decoration:none;color:var(--ui-plum,#3D3063)}
.footer .footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.footer .instagram-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
.footer .instagram-link .instagram-flash{fill:currentColor;stroke:none}
.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;border-top:1px solid #3D306326;padding-top:22px;margin-top:8px}
.footer .footer-bottom small{font-size:12px;line-height:1.6;max-width:560px}
@media(max-width:1050px){.footer .container{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.footer .container{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.footer-brand{grid-column:1/-1}.footer .footer-links a{font-size:14px}.footer-bottom{margin-top:0}.footer .footer-bottom small{font-size:12px}}


/* Store links cut from layered plum paper. */
.nav-actions > a.button, .hero-actions > a.button {
  position:relative;
  background-color:#3D3063;
  color:#F4E9D8;
  border:0;
  border-radius:3px;
  clip-path:polygon(1% 3%, 13% 1%, 28% 2%, 42% .6%, 58% 2%, 75% .8%, 90% 2%, 99% 1%, 99.5% 24%, 99% 48%, 99.6% 74%, 99% 98%, 83% 99%, 65% 98%, 48% 99.5%, 30% 98%, 14% 99%, 1% 98%, .5% 72%, 1% 48%, .4% 24%);
  box-shadow:none;
  filter:drop-shadow(0 3px 0 #C9A77C) drop-shadow(1px 5px 4px #1C2B4E88);
  cursor:pointer;
  transition:transform .18s ease, filter .18s ease;
}
.hero-actions > a.button { min-height:52px; text-align:center; }
@media (hover:hover) {
  .nav-actions > a.button:hover, .hero-actions > a.button:hover {
    transform:translateY(-3px);
    filter:drop-shadow(0 5px 0 #C9A77C) drop-shadow(1px 8px 5px #1C2B4E88);
  }
}
.nav-actions > a.button:active, .hero-actions > a.button:active {
  transform:translateY(2px);
  filter:drop-shadow(0 1px 0 #C9A77C) drop-shadow(0 2px 2px #1C2B4E88);
}
.nav-actions > a.button:focus-visible, .hero-actions > a.button:focus-visible {
  clip-path:none;
  outline:3px solid #E4B442;
  outline-offset:4px;
}
@media (prefers-reduced-motion:reduce) {
  .nav-actions > a.button, .hero-actions > a.button { transition:none; }
  .nav-actions > a.button:hover, .hero-actions > a.button:hover,
  .nav-actions > a.button:active, .hero-actions > a.button:active { transform:none; }
}

/* Paper backing is visible around each store button. */
.nav-actions > a.button, .hero-actions > a.button {
  clip-path:none;
  border:3px solid #EAD8C4;
  border-radius: 12px 7px 11px 7px / 8px 12px 7px 11px;
  background-color:#3D3063;
  box-shadow:0 3px 0 #C9A77C, 1px 6px 7px rgba(20,17,43,.4);
  filter:none;
}
@media (hover:hover) {
  .nav-actions > a.button:hover, .hero-actions > a.button:hover {
    transform:translateY(-3px);
    box-shadow:0 5px 0 #C9A77C, 1px 9px 9px rgba(20,17,43,.4);
    filter:none;
  }
}
.nav-actions > a.button:active, .hero-actions > a.button:active {
  transform:translateY(2px);
  box-shadow:0 1px 0 #C9A77C, 0 2px 3px rgba(20,17,43,.35);
  filter:none;
}
@media (prefers-reduced-motion:reduce) {
  .nav-actions > a.button:hover, .hero-actions > a.button:hover,
  .nav-actions > a.button:active, .hero-actions > a.button:active {transform:none}
}

/* Matching store badges, inspired by the supplied reference. */
.nav-actions > a.button, .hero-actions > a.button {
 display:inline-flex; align-items:center; justify-content:flex-start; gap:9px;
 border:1px solid rgba(234,216,196,.6); border-radius:5px;
 background:#3D3063; color:#F4E9D8; padding:8px 13px;
 min-height:50px; box-shadow:0 2px 5px rgba(20,17,43,.25); filter:none;
 text-decoration:none; line-height:1; white-space:nowrap;
}
.nav-actions > a.button { min-height:40px; padding:5px 10px; gap:7px; }
.install-badge-icon { display:inline-flex; align-items:center; flex:none; width:23px; height:28px; }
.install-badge-icon svg { width:100%; height:100%; }
.nav-actions .install-badge-icon { width:18px; height:22px; }
.install-badge-copy { display:flex; flex-direction:column; align-items:flex-start; gap:3px; text-align:left; }
.install-badge-copy small { font:500 9px/1 system-ui,sans-serif; letter-spacing:.04em; }
.install-badge-copy strong { font:600 17px/1.05 system-ui,sans-serif; }
.nav-actions .install-badge-copy small { font-size:7px; }
.nav-actions .install-badge-copy strong { font-size:13px; }
@media(max-width:420px){ .hero-actions > a.button { padding:7px 9px; gap:6px; } .hero-actions .install-badge-copy strong{font-size:14px} .hero-actions .install-badge-icon{width:19px} }

/* Quiet paper edges for the storybook store badges. */
.nav-actions > a.button, .hero-actions > a.button {
  border:0;
  border-radius:5px 7px 5px 8px;
  box-shadow:0 3px 0 #30264e, 1px 5px 8px rgba(15,18,35,.32);
}
@media (hover:hover) {
 .nav-actions > a.button:hover, .hero-actions > a.button:hover {
  border:0;
  box-shadow:0 5px 0 #30264e, 1px 8px 10px rgba(15,18,35,.36);
 }
}
.nav-actions > a.button:active, .hero-actions > a.button:active {
 border:0; box-shadow:0 1px 0 #30264e, 0 2px 3px rgba(15,18,35,.3);
}
