/* Shared chrome: header, nav, footer, buttons.
   Loaded by every page, including archive pages that still use /css/site.css
   for their inner content. Class names are prefixed bc- to avoid old rules. */
.bc-skip{position:absolute;left:var(--sp-2);top:calc(-1 * var(--sp-8));z-index:30;background:var(--c-ink);color:var(--c-surface);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius)}
.bc-skip:focus{top:var(--sp-2)}

.bc-header{position:sticky;top:0;z-index:20;background:var(--c-cream);border-bottom:1px solid var(--c-border);font-family:var(--ff-text)}
.bc-header *{box-sizing:border-box}
.bc-hwrap{max-width:72rem;margin:0 auto;padding:var(--sp-2) var(--sp-3);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}
.bc-logo{display:flex;align-items:center;min-height:var(--tap)}
.bc-logo img{display:block;width:9.5rem;height:auto;background:transparent}
.bc-toggle{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--tap);min-width:var(--tap);padding:0 var(--sp-3);border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);color:var(--c-ink);font:inherit;font-size:var(--fs-sm);cursor:pointer}
.bc-toggle:focus-visible,.bc-nav a:focus-visible,.bc-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}
.bc-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--c-cream);border-bottom:1px solid var(--c-border);box-shadow:var(--shadow);max-height:calc(100vh - var(--sp-8));overflow:auto}
.bc-open .bc-nav{display:block}
.bc-nav ul{list-style:none;margin:0;padding:0}
.bc-nav>ul{padding:var(--sp-2) var(--sp-3) var(--sp-4)}
.bc-nav a{display:flex;align-items:center;min-height:var(--tap);padding:0 var(--sp-2);color:var(--c-ink);text-decoration:none;font-size:var(--fs-base);border-radius:var(--radius);transition:background-color .15s,color .15s}
.bc-nav a:hover{background:var(--c-sand)}
.bc-nav a[aria-current=page]{color:var(--c-accent);font-weight:700}
.bc-nav .bc-sub a{padding-left:var(--sp-5);font-size:var(--fs-sm);color:var(--c-muted)}
.bc-nav .bc-sub a:hover{color:var(--c-ink)}
.bc-nav a.bc-es{justify-content:center;margin-top:var(--sp-2);background:var(--c-accent);color:var(--c-surface);padding:0 var(--sp-4)}
.bc-nav a.bc-es:hover{background:var(--c-ink);color:var(--c-surface)}
@media (min-width:64rem){
  .bc-toggle{display:none}
  .bc-nav{display:block;position:static;background:none;border:0;box-shadow:none;max-height:none;overflow:visible}
  .bc-nav>ul{display:flex;align-items:center;gap:var(--sp-1);padding:0}
  .bc-nav>ul>li{position:relative}
  .bc-nav a{padding:0 var(--sp-3);font-size:var(--fs-sm)}
  .bc-nav a.bc-es{margin:0 0 0 var(--sp-2)}
  .bc-nav .bc-sub{display:none;position:absolute;left:0;top:100%;min-width:14rem;padding:var(--sp-2);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--sp-3);box-shadow:var(--shadow)}
  .bc-nav li:hover>.bc-sub,.bc-nav li:focus-within>.bc-sub{display:block}
  .bc-nav .bc-sub a{padding:0 var(--sp-3);color:var(--c-ink)}
}

.bc-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-5);border-radius:var(--radius);border:1px solid var(--c-accent);background:var(--c-accent);color:var(--c-surface);font-family:var(--ff-text);font-size:var(--fs-base);font-weight:700;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.bc-btn:hover{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-surface)}
.bc-btn.bc-quiet{background:transparent;color:var(--c-ink);border-color:var(--c-ink)}
.bc-btn.bc-quiet:hover{background:var(--c-ink);color:var(--c-surface)}
.bc-onphoto .bc-btn.bc-quiet{color:var(--c-surface);border-color:var(--c-surface)}
.bc-onphoto .bc-btn.bc-quiet:hover{background:var(--c-surface);color:var(--c-ink)}

.bc-footer{background:var(--c-ink);color:var(--c-sand);font-family:var(--ff-text);font-size:var(--fs-sm);line-height:var(--lh-body)}
.bc-footer *{box-sizing:border-box}
.bc-fwrap{max-width:72rem;margin:0 auto;padding:var(--sp-5) var(--sp-3) var(--sp-3);display:grid;gap:var(--sp-4)}
.bc-footer h2{font-family:var(--ff-display);font-weight:400;font-size:var(--fs-xl);line-height:var(--lh-tight);color:var(--c-surface);margin:0 0 var(--sp-2)}
.bc-footer h3{font-family:var(--ff-text);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--c-sand);margin:0 0 var(--sp-2)}
.bc-footer p{margin:0 0 var(--sp-2)}
.bc-footer p:last-child{margin-bottom:0}
.bc-footer ul{list-style:none;margin:0;padding:0}
.bc-footer a{color:var(--c-surface);text-decoration:underline;text-decoration-color:var(--c-muted);text-underline-offset:3px;transition:text-decoration-color .15s}
.bc-footer a:hover{text-decoration-color:var(--c-surface)}
.bc-footer li a,.bc-footer .bc-tap{display:inline-flex;align-items:center;min-height:var(--tap)}
.bc-fbase{border-top:1px solid var(--c-muted);padding-top:var(--sp-3);grid-column:1/-1;color:var(--c-sand)}
.bc-fbase p{margin:0}
@media (min-width:48rem){.bc-fwrap{grid-template-columns:1.4fr 1fr 1fr;gap:var(--sp-4) var(--sp-5);padding-top:var(--sp-6)}.bc-footer li a{min-height:36px}}
.bc-fwrap>div:last-of-type ul{columns:2;column-gap:var(--sp-4)}
