/* ==========================================================================
   Studio A/D — Shared site styles
   ========================================================================== */

:root{
  --bg:#FAF7F0;
  --surface:#F2EDE3;
  --surface-2:#EDE6D5;
  --text:#1A1612;
  --text-2:#6B6357;
  --text-3:#A89F8E;
  --line:#D8D0BF;
  --serif:'AlbertusNova','Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Noto Sans JP','Helvetica Neue',Arial,sans-serif;
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}

/* ── Site header (used by all subpages except home) ── */
.site-header{
  position:fixed;top:0;left:0;right:0;
  z-index:100;
  padding:24px 40px;
  display:flex;justify-content:space-between;align-items:center;
  background:rgba(250,247,240,.85);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.site-logo{
  font-family:var(--serif);font-weight:400;font-size:18px;
  letter-spacing:.02em;
}
.site-logo .slash{display:inline-block;margin:0 -.02em}
.site-nav{display:flex;gap:32px}
.site-nav a{
  font-family:var(--sans);font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--text-2);
  transition:color 400ms;
}
.site-nav a:hover,.site-nav a.current{color:var(--text)}

/* ── Universal fade-in ── */
.fade-in{opacity:0;transform:translateY(12px);transition:opacity 1100ms ease,transform 1100ms ease}
.fade-in.in{opacity:1;transform:none}

/* ── Footer (shared across subpages) ── */
.site-footer{
  padding:60px 40px 40px;
  border-top:.5px solid var(--line);
  background:var(--surface);
  margin-top:80px;
}
.footer-grid{
  max-width:1080px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;
  align-items:start;
}
.footer-cell{font-size:12px;color:var(--text-2);line-height:1.7}
.footer-cell .label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);display:block;margin-bottom:10px}
.footer-cell strong{font-family:var(--serif);font-weight:400;color:var(--text);font-size:14px;display:block;margin-bottom:2px}
.footer-social{
  display:block;
  margin-top:14px;
  font-family:var(--sans);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--text-2);
  border-bottom:.5px solid var(--line);
  padding-bottom:3px;
  transition:color 400ms,border-color 400ms;
  width:fit-content;
}
.footer-social + .footer-social{margin-top:8px}
.footer-social:hover{color:var(--text);border-color:var(--text)}
.footer-social .ext{font-family:var(--serif);font-size:13px;letter-spacing:0}
.footer-bottom{
  max-width:1080px;margin:60px auto 0;
  padding-top:24px;border-top:.5px solid var(--line);
  display:flex;justify-content:space-between;
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  color:var(--text-3);text-transform:uppercase;
}

@media(max-width:768px){
  .site-header{padding:18px 24px}
  .site-nav{gap:18px}
  .site-nav a{font-size:10px;letter-spacing:.1em}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .footer-bottom{flex-direction:column;gap:8px}
}
