/* Shared WHOLECAKE header and footer */
:root { --wc-navy:#0a0f1e; --wc-blue:#1d4ed8; --wc-blue-hover:#1e40af; --wc-muted:#6b7280; }
#site-header, #site-footer { display: contents; }
.wc-site-nav { position:fixed; inset:0 0 auto 0; z-index:200; height:68px; display:flex; align-items:center; border-bottom:1px solid transparent; transition:background-color .3s,border-color .3s,box-shadow .3s,backdrop-filter .3s; font-family:Inter,system-ui,sans-serif; }
.wc-site-nav.is-dark { background:transparent; color:#fff; }
.wc-site-nav.is-solid { background:rgba(255,255,255,.97); color:#374151; border-color:#e5e7eb; box-shadow:0 1px 3px rgba(0,0,0,.08); backdrop-filter:blur(12px); }
.wc-nav-inner { width:min(1200px,100%); margin:0 auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.wc-brand { display:flex; align-items:center; flex:0 0 auto; margin-left:-12px; margin-top:10px; text-decoration:none; }
.wc-logo-light { display:block; height:72px; width:auto; }
.wc-logo-dark { display:none; align-items:center; gap:8px; padding-bottom:8px; color:#145FCC; font-size:21px; font-weight:900; line-height:.84; letter-spacing:-.8px; }
.wc-logo-dark img { height:60px; width:auto; flex:0 0 auto; }
.wc-site-nav.is-solid .wc-logo-light { display:none; }
.wc-site-nav.is-solid .wc-logo-dark { display:flex; }
.wc-desktop-nav,.wc-desktop-actions { display:none; align-items:center; }
.wc-desktop-nav { gap:4px; }
.wc-desktop-actions { gap:10px; }
.wc-nav-link { padding:7px 14px; border-radius:999px; color:inherit; font-size:14px; line-height:1.25; font-weight:500; text-decoration:none; transition:color .15s,box-shadow .15s; }
.wc-site-nav.is-dark .wc-nav-link { color:rgba(255,255,255,.82); }
.wc-site-nav.is-dark .wc-nav-link:hover,.wc-site-nav.is-dark .wc-nav-link.is-active { background:transparent; box-shadow:inset 0 0 0 1px rgba(255,255,255,.92); color:#fff; }
.wc-site-nav.is-solid .wc-nav-link { color:#4b5563; }
.wc-site-nav.is-solid .wc-nav-link:hover,.wc-site-nav.is-solid .wc-nav-link.is-active { background:transparent; box-shadow:inset 0 0 0 1px #d1d5db; color:#111827; }
.wc-nav-link.is-active { font-weight:600; }
.wc-nav-link-disabled { opacity:.62; cursor:default; user-select:none; }
.wc-site-nav.is-dark .wc-nav-link-disabled:hover,.wc-site-nav.is-solid .wc-nav-link-disabled:hover { box-shadow:none; color:inherit; }
.wc-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:999px; padding:9px 18px; white-space:nowrap; font-size:14px; line-height:1.25; font-weight:600; text-decoration:none; transition:background-color .15s,color .15s,border-color .15s,transform .15s; }
.wc-btn:hover { transform:translateY(-1px); }
.wc-btn-primary { background:var(--wc-blue); color:#fff; border:1px solid var(--wc-blue); }
.wc-btn-primary:hover { background:var(--wc-blue-hover); border-color:var(--wc-blue-hover); }
.wc-btn-secondary { padding:8px 16px; border:1px solid #d1d5db; color:#4b5563; background:transparent; font-weight:500; }
.wc-site-nav.is-dark .wc-btn-secondary { color:rgba(255,255,255,.78); border-color:rgba(255,255,255,.28); }
.wc-btn-secondary:hover { background:#f3f4f6; color:#111827; }
.wc-site-nav.is-dark .wc-btn-secondary:hover { background:rgba(255,255,255,.1); color:#fff; }
.wc-menu-toggle { display:inline-flex; align-items:center; justify-content:center; padding:8px; border:0; border-radius:8px; background:transparent; color:inherit; cursor:pointer; }
.wc-mobile-menu { position:absolute; top:68px; left:0; right:0; padding:16px; background:rgba(10,15,30,.96); border-top:1px solid rgba(255,255,255,.1); box-shadow:0 12px 28px rgba(0,0,0,.28); backdrop-filter:blur(12px); }
.wc-mobile-menu nav { display:flex; flex-direction:column; gap:2px; }
.wc-mobile-link { display:block; padding:12px 16px; border-radius:8px; color:rgba(255,255,255,.85); font-size:15px; line-height:1.3; font-weight:500; text-decoration:none; }
.wc-mobile-link:hover,.wc-mobile-link.is-active { color:#fff; background:rgba(255,255,255,.08); }
.wc-mobile-link.is-active { font-weight:600; }
.wc-mobile-link-disabled { opacity:.58; cursor:default; user-select:none; }
.wc-mobile-link-disabled:hover { color:rgba(255,255,255,.85); background:transparent; }
.wc-mobile-cta { margin-top:8px; padding-top:12px; border-top:1px solid rgba(255,255,255,.1); }
.wc-mobile-cta .wc-btn { font-size:15px; }

.wc-site-footer { background:#111827; color:#9ca3af; font-family:Inter,system-ui,sans-serif; }
.wc-footer-inner { width:min(1280px,100%); margin:0 auto; padding:64px 24px 32px; }
.wc-footer-grid { display:grid; grid-template-columns:1fr; gap:40px; padding-bottom:48px; border-bottom:1px solid #1f2937; }
.wc-footer-brand { max-width:430px; }
.wc-footer-logo { display:inline-block; margin-bottom:16px; }
.wc-footer-logo img { display:block; height:80px; width:auto; }
.wc-footer-brand p { margin:0; max-width:360px; color:#9ca3af; font-size:14px; line-height:1.65; }
.wc-footer-email { display:inline-block; margin-top:22px; color:#9ca3af; font-size:14px; text-decoration:none; transition:color .15s; }
.wc-footer-email:hover,.wc-site-footer a:hover { color:#fff; }
.wc-site-footer h4 { margin:0 0 16px; color:#fff; font-size:14px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.wc-site-footer ul { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.wc-site-footer li { margin:0; }
.wc-site-footer li a { color:#9ca3af; font-size:14px; text-decoration:none; transition:color .15s; }
.wc-footer-link-disabled { color:#6b7280; font-size:14px; cursor:default; user-select:none; }
.wc-site-footer .wc-footer-cta { display:inline-flex; align-items:center; gap:7px; color:#60a5fa; font-weight:500; }
.wc-site-footer .wc-footer-cta:hover { color:#93c5fd; }
.wc-footer-bottom { display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:14px; padding-top:32px; color:#4b5563; font-size:12px; text-align:center; }
.wc-footer-bottom p { margin:0; }

@media (min-width: 640px) {
  .wc-footer-inner { padding-left:24px; padding-right:24px; }
  .wc-footer-bottom { flex-direction:row; text-align:left; }
}
@media (min-width: 768px) { .wc-footer-grid { grid-template-columns:2fr 1fr 1fr; } }
@media (min-width: 980px) {
  .wc-desktop-nav,.wc-desktop-actions { display:flex; }
  .wc-menu-toggle { display:none; }
}
@media (max-width: 979px) { .wc-nav-inner { padding:0 20px; } }
@media (prefers-reduced-motion: reduce) { .wc-btn,.wc-site-nav { transition:none !important; } }
