/* Shared footer — styled from the current index.html footer. */
:root{
  --footer-bg:var(--color-brand);
  --footer-text:rgba(255,255,255,.55);
  --footer-light:var(--color-brand-light);
  --footer-line:rgba(255,255,255,.2);
  --footer-copy:rgba(255,255,255,.55);
  --footer-glow:rgba(198,182,216,.12);
}
body.header-theme-taichi{
  --footer-bg:var(--color-brand-light);
  --footer-text:rgba(255,255,255,.8);
  --footer-light:var(--color-white);
  --footer-line:rgba(255,255,255,.25);
  --footer-copy:#e5d0a4;
  --footer-glow:rgba(255,255,255,.1);
}

footer{
  background:var(--footer-bg);color:var(--footer-text);
  padding:var(--footer-padding);
  display:flex;flex-direction:column;align-items:center;
  position:relative;overflow:hidden;
}
footer::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%,var(--footer-glow) 0%,transparent 50%);
}
footer .f-main{
  display:flex;align-items:center;gap:var(--footer-main-gap);margin-bottom:var(--footer-main-margin);
  position:relative;z-index:1;
}
footer .f-brand{
  font-size:2rem;font-weight:200;letter-spacing:.15em;
  color:var(--white,#fff);font-family:'Playfair Display',Georgia,serif;
}
footer .f-vert{
  writing-mode:vertical-rl;font-size:.875rem;letter-spacing:.15em;
  color:var(--footer-light);line-height:2.5;font-family:var(--font-cn,serif);
}
footer .f-line{
  width:1px;height:3rem;background:var(--footer-line);
  position:relative;z-index:1;
}
footer .f-slogan{
  font-size:.875rem;letter-spacing:.12em;color:var(--footer-light);
  margin:2rem 0;position:relative;z-index:1;
  font-family:var(--font-cn,serif);
}
footer .f-copy{
  font-size:.75rem;letter-spacing:.05em;color:var(--footer-copy);
  position:relative;z-index:1;
}

/* The two pages that previously injected a richer footer keep every word,
   while using the same index footer surface, rhythm, and typography. */
footer.footer-rich{align-items:stretch}
footer.footer-rich .f-rich-top{
  width:100%;max-width:1200px;margin:0 auto 3rem;
  display:flex;justify-content:space-between;align-items:flex-start;gap:3rem;
  position:relative;z-index:1;
}
footer.footer-rich .f-brand{font-size:2rem}
footer.footer-rich .f-brand img{height:40px;width:auto;display:block}
footer.footer-rich .f-rich-cols{display:flex;gap:4rem}
footer.footer-rich .f-rich-col h4{
  color:var(--footer-light);margin:0 0 1.5rem;font-size:1rem;
  letter-spacing:.25em;font-weight:600;
}
footer.footer-rich .f-rich-col p{
  margin:0;color:var(--footer-text);font-size:1rem;line-height:2.2;
}
footer.footer-rich .f-copy-rich{width:100%;max-width:1200px;margin:0 auto}

@media(max-width:768px){
  footer.footer-rich .f-rich-top{flex-direction:column;gap:3rem}
  footer.footer-rich .f-rich-cols{flex-direction:column;gap:2.5rem}
}
