/* anjafio site chrome: the one menu bar, menu sheet and footer every public page shares.
   Markup lives in chrome/*.html and is stamped into each page by tools/stamp_chrome.py.
   Everything here is scoped to .ac-* so it never reaches into a page's own styles.
   The --c-* tokens are the canonical palette; pages alias their own names to them. */
:root{
  --c-serif:'Libre Baskerville',Baskerville,Georgia,serif;
  --c-sans:'Open Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --c-gut:clamp(16px,4vw,48px);--c-maxw:1320px;
  --c-ease:cubic-bezier(.2,.7,.2,1);--c-ease-out:cubic-bezier(.16,1,.3,1);
  --c-dark:#161513;--c-dink:#ece6da;--c-dink2:#a9a296;
  --c-paper:#e6e8e7;--c-paper2:#dcdfdd;--c-card:#ffffff;--c-field:#fbfaf7;--c-ink:#1f2522;--c-ink2:#4c585d;--c-ink3:#5b6468;
  --c-rule:rgba(31,37,34,.14);--c-rule2:rgba(31,37,34,.27);--c-accent:#47627e;--c-accent-ink:#3d566f;--c-on-accent:#fdf8ee;--c-accent-hover:#3a5169;
}
[data-theme="dark"]{
  --c-paper:#141922;--c-paper2:#1c2331;--c-card:#2a3345;--c-field:#1a202c;--c-ink:#efe7d6;--c-ink2:#c1b6a0;--c-ink3:#a99e86;
  --c-rule:rgba(239,231,214,.14);--c-rule2:rgba(239,231,214,.27);--c-accent:#c57b57;--c-accent-ink:#dc9a78;--c-on-accent:#1b140e;--c-accent-hover:#d48d6a;
}
[data-theme="light"]{
  --c-paper:#e6e8e7;--c-paper2:#dcdfdd;--c-card:#ffffff;--c-field:#fbfaf7;--c-ink:#1f2522;--c-ink2:#4c585d;--c-ink3:#5b6468;
  --c-rule:rgba(31,37,34,.14);--c-rule2:rgba(31,37,34,.27);--c-accent:#47627e;--c-accent-ink:#3d566f;--c-on-accent:#fdf8ee;--c-accent-hover:#3a5169;
}
.ac-nav,.ac-sheet,.ac-foot{font-family:var(--c-sans);-webkit-font-smoothing:antialiased;box-sizing:border-box}
.ac-nav *,.ac-sheet *,.ac-foot *{box-sizing:border-box}
.ac-nav a,.ac-sheet a,.ac-foot a{color:inherit}
.ac-nav button,.ac-sheet button,.ac-foot button{font:inherit;cursor:pointer}
.ac-nav :focus-visible,.ac-sheet :focus-visible,.ac-foot :focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:0}
.ac-wrap{max-width:var(--c-maxw);margin:0 auto;padding-left:var(--c-gut);padding-right:var(--c-gut)}
.ac-skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--c-ink);color:var(--c-paper);padding:10px 16px;text-decoration:none;font:14px var(--c-sans)}
.ac-skip:focus{top:12px}

/* buttons */
.ac-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border:1px solid var(--c-accent);background:var(--c-accent);color:var(--c-on-accent)!important;text-decoration:none;font-family:var(--c-sans);font-weight:600;font-size:13px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;border-radius:0;white-space:nowrap;transition:background-color .25s var(--c-ease),border-color .25s var(--c-ease)}
.ac-btn:hover{background:var(--c-accent-hover);border-color:var(--c-accent-hover)}
.ac-btn.ghost{background:transparent;color:var(--c-ink)!important;border-color:var(--c-rule2)}
.ac-btn.ghost:hover{border-color:var(--c-ink)}
.ac-btn.sm{min-height:40px;padding:0 16px;font-size:12px}
.ac-tl{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--c-ink);padding:10px 0;border-bottom:1px solid transparent;white-space:nowrap}
.ac-tl:hover,.ac-tl[aria-current="page"]{border-bottom-color:var(--c-accent)}
.ac-tl svg{width:16px;height:16px;flex:0 0 auto}

/* menu bar */
.ac-nav{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--c-paper) 86%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid transparent;transition:border-color .3s;color:var(--c-ink)}
.ac-nav.scrolled{border-bottom-color:var(--c-rule)}
.ac-nav .ac-wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.ac-brand{font-family:var(--c-serif);font-size:28px;font-weight:400;letter-spacing:-.02em;text-decoration:none;color:var(--c-ink)!important;line-height:1;flex:0 0 auto}
.ac-brand span{color:var(--c-accent)}
.ac-links{display:flex;align-items:center;gap:clamp(18px,2vw,30px)}
.ac-links a{text-decoration:none;font-size:15px;color:var(--c-ink2);position:relative;padding:8px 0;white-space:nowrap}
.ac-links a:hover,.ac-links a[aria-current="page"]{color:var(--c-ink)}
.ac-links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--c-accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--c-ease)}
.ac-links a:hover::after,.ac-links a[aria-current="page"]::after{transform:scaleX(1)}
.ac-right{display:flex;align-items:center;gap:18px}
.ac-menu{display:none;background:none;border:0;width:44px;height:44px;margin-right:-10px;align-items:center;justify-content:center;color:var(--c-ink)}
.ac-menu span{display:block;width:22px;height:1.5px;background:currentColor;position:relative}
.ac-menu span::before,.ac-menu span::after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:currentColor}
.ac-menu span::before{top:-7px}.ac-menu span::after{top:7px}

/* theme switch: daytime, by the clock, nighttime */
.ac-tpill{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--c-rule2);border-radius:0}
.ac-tpill button{display:inline-grid;place-items:center;width:32px;height:30px;border:0;border-radius:0;background:transparent;color:var(--c-ink3);transition:background-color .3s,color .3s}
.ac-tpill button:hover{color:var(--c-ink)}
.ac-tpill button[aria-pressed="true"]{background:var(--c-accent);color:var(--c-on-accent)}
.ac-tpill svg{width:15px;height:15px}

/* the bar gives up words before it gives up items: links first, then the switch and the words beside the album icon */
@media (max-width:1240px){.ac-nav .ac-albums span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.ac-nav .ac-albums{padding:10px 4px}}
@media (max-width:1100px){.ac-nav .ac-tpill{display:none}}
@media (max-width:980px){.ac-links{display:none}.ac-menu{display:inline-flex}.ac-nav .ac-manage{display:none}}
@media (max-width:420px){.ac-nav .ac-btn.sm{padding:0 12px;letter-spacing:.08em}.ac-brand{font-size:25px}.ac-right{gap:12px}}
@media (max-width:359px){.ac-nav .ac-albums{display:none}}

/* menu sheet */
.ac-sheet{position:fixed;inset:0;z-index:90;background:var(--c-paper);color:var(--c-ink);display:flex;flex-direction:column;padding:0 var(--c-gut) calc(24px + env(safe-area-inset-bottom));transform:translateY(-102%);transition:transform .5s var(--c-ease-out);visibility:hidden;overflow-y:auto}
.ac-sheet.open{transform:none;visibility:visible}
.ac-sheet-top{display:flex;justify-content:space-between;align-items:center;height:72px;flex:0 0 auto}
.ac-sheet nav{display:flex;flex-direction:column;margin-top:24px}
.ac-sheet nav a{font-family:var(--c-serif);font-size:clamp(30px,8vw,44px);line-height:1.1;text-decoration:none;padding:8px 0;border-bottom:1px solid var(--c-rule);display:flex;justify-content:space-between;align-items:baseline;color:var(--c-ink)}
.ac-sheet nav a small{font-family:var(--c-sans);font-size:12px;color:var(--c-ink3);letter-spacing:.1em}
.ac-sheet-foot{margin-top:auto;padding-top:24px;display:grid;gap:12px}
.ac-x{background:none;border:0;width:44px;height:44px;margin-right:-10px;font-size:28px;line-height:1;color:var(--c-ink)}
@media (prefers-reduced-motion:reduce){.ac-sheet{transition:none}}

/* footer */
.ac-foot{background:var(--c-dark);color:var(--c-dink2);padding:56px 0 calc(40px + env(safe-area-inset-bottom));position:relative;z-index:2;font-size:15px;line-height:1.6;margin:0;text-align:left}
.ac-foot .ac-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.ac-foot .ac-brand{color:var(--c-dink)!important}
.ac-foot p{margin:14px 0 0;max-width:34ch}
.ac-foot .ac-fh{margin:0 0 12px;color:var(--c-dink);font-family:var(--c-sans);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.ac-foot a{color:var(--c-dink2)!important;text-decoration:none;display:block;padding:5px 0}
.ac-foot a:hover{color:var(--c-dink)!important}
.ac-foot .ac-tpill{border-color:rgba(236,230,218,.25);margin-top:28px}
.ac-foot .ac-tpill button{color:var(--c-dink2)}
.ac-foot .ac-legal{margin-top:40px;padding-top:20px;border-top:1px solid rgba(236,230,218,.14);display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px}
.ac-foot .ac-legal a{display:inline;padding:0}
.ac-foot .ac-legal button{background:none;border:0;padding:0;color:var(--c-dink2);font-size:13px}
.ac-foot .ac-legal button:hover{color:var(--c-dink)}
@media (max-width:820px){.ac-foot .ac-grid{grid-template-columns:1fr 1fr}.ac-foot .ac-grid>div:first-child{grid-column:1/-1}}
@media print{.ac-nav,.ac-sheet,.ac-foot{display:none!important}}
