/* Site header, footer and skip link. Loaded by every page, including the Santa letter tool,
   so it only styles its own classes and falls back to fixed colours where a page lacks a token. */
.skip-link{position:absolute;left:12px;top:-60px;z-index:20;background:var(--paper,#fff);color:var(--ink,#1C2830);padding:.6rem 1rem;border-radius:8px;font:600 1rem/1.2 var(--text,system-ui,sans-serif);text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,.2)}
.skip-link:focus{top:12px}

.site-header{background:var(--paper,#fff);border-bottom:1px solid var(--line,#D8E0E5)}
.site-header .site-header-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand nav order";align-items:center;gap:.6rem 1.6rem;padding-block:.8rem}
.site-brand{grid-area:brand;display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap;font-family:var(--display,Georgia,serif);font-size:1.25rem;line-height:1.2;color:var(--ink,#1C2830);text-decoration:none}
.site-brand svg{width:1.45rem;height:1.45rem;flex:none;color:var(--gold,#B88A2C)}
.site-nav{grid-area:nav;justify-self:end;display:flex;flex-wrap:wrap;gap:.1rem 1.3rem}
.site-nav a{display:inline-block;padding-block:.45rem;font:500 .98rem/1.2 var(--text,system-ui,sans-serif);color:var(--ink,#1C2830);text-decoration:none;border-bottom:2px solid transparent}
.site-nav a:hover{border-bottom-color:var(--line,#D8E0E5)}
.site-nav a[aria-current="page"]{color:var(--pine,#1E4A3D);font-weight:600;border-bottom-color:var(--pine,#1E4A3D)}
.site-order{grid-area:order;display:inline-flex;align-items:center;justify-content:center;min-height:2.6rem;padding:.55rem 1.2rem;border-radius:999px;background:var(--berry,#A3303B);color:var(--berry-ink,#fff);font:600 .98rem/1.2 var(--text,system-ui,sans-serif);text-decoration:none;white-space:nowrap}
.site-order:hover{filter:brightness(1.06)}
.site-header a:focus-visible,.site-footer a:focus-visible,.skip-link:focus-visible{outline:3px solid var(--focus,var(--gold,#8A6516));outline-offset:2px;border-radius:4px}
@media (max-width: 760px){
  .site-header .site-header-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand order" "nav nav";padding-block:.7rem .35rem}
  .site-nav{justify-self:start;gap:0 1.1rem}
}
@media (max-width: 380px){
  .site-brand{font-size:1.12rem}
  .site-nav{gap:0 .9rem}
  .site-nav a{font-size:.94rem}
}

.site-footer.site-footer{margin-top:0;padding-block:2.6rem 2.8rem;border-top:1px solid var(--line,#D8E0E5);background:var(--paper,#fff);color:var(--muted,#56646D);font:400 .94rem/1.6 var(--text,system-ui,sans-serif)}
.site-footer .wrap{display:grid;gap:1.6rem;justify-content:stretch}
.site-footer .site-footer-cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:1.4rem 2rem}
.site-footer .site-footer-name{display:flex;align-items:center;gap:.5rem;margin:0 0 .4rem;font-family:var(--display,Georgia,serif);font-size:1.15rem;color:var(--ink,#1C2830)}
.site-footer .site-footer-name svg{width:1.2rem;height:1.2rem;color:var(--gold,#B88A2C)}
.site-footer p{margin:0}
.site-footer .site-footer-extra{margin-top:.5rem}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.site-footer ul a{display:inline-block;padding-block:.2rem}
.site-footer a{color:var(--pine,#1E4A3D)}
.site-footer .site-footer-legal{border-top:1px solid var(--line,#D8E0E5);padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;justify-content:space-between}
.site-footer .site-footer-legal span{display:inline-flex;flex-wrap:wrap;gap:.2rem 1rem}
@media (max-width: 760px){
  .site-footer .site-footer-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .site-footer .site-footer-about{grid-column:1 / -1}
}
@media print{.site-header,.site-footer,.skip-link{display:none!important}}
