/* The sticky public header (resources/views/partials/site-header.blade.php). Self-contained, because
   the landing page and the Bootstrap-based blog and auth pages use different stylesheets.
   Colour modes follow data-bs-theme on <html>, set by public/theme/austant.js. */
:root,:root[data-bs-theme=light]{--sh-bg:#FFFFFF;--sh-line:#EEEEF3;--sh-fg:#0C243C;--sh-muted:#696981;--sh-seg:#F1F1F6;--sh-segon:#FFFFFF;--sh-link:#5955D1;--sf-bg:#0C243C;--sf-line:rgba(255,255,255,.12);--sf-muted:#B5C0CD}
:root[data-bs-theme=dark]{--sh-bg:#1E1E1E;--sh-line:rgba(255,255,255,.08);--sh-fg:#F4F4F6;--sh-muted:#A6A6AE;--sh-seg:#2A2A2E;--sh-segon:#3A3A40;--sh-link:#A9A6F5;--sf-bg:#161618;--sf-line:rgba(255,255,255,.08);--sf-muted:#A6A6AE}
html{scroll-padding-top:88px}
.sh,.sh *{box-sizing:border-box}
.sh{position:sticky;top:0;z-index:1030;background:var(--sh-bg);border-bottom:1px solid var(--sh-line);font-family:'Instrument Sans',system-ui,sans-serif;font-size:15px;line-height:1.3}
.sh-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px 32px;max-width:1464px;min-height:72px;margin:0 auto;padding:0 clamp(16px,2.4vw,32px)}
.sh a{text-decoration:none}
.sh a:focus-visible,.sh summary:focus-visible,.sh-theme label:has(input:focus-visible){outline:2px solid var(--sh-link);outline-offset:2px;border-radius:8px}
.sh-logo{display:flex;align-items:center;min-height:44px;flex:none}
.sh-logo img{display:block;height:40px;width:auto;max-width:none}
:root:not([data-bs-theme=dark]) .sh-dark,:root[data-bs-theme=dark] .sh-light{display:none}
.sh-links{display:flex;align-items:center;gap:0 24px;margin-left:auto}
.sh-actions{display:flex;align-items:center;gap:0 18px;flex:none}
.sh .sh-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;color:var(--sh-fg);font-weight:500}
.sh .sh-link:hover,.sh .sh-link[aria-current=page]{color:var(--sh-link)}
.sh .sh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;background:#5955D1;border:1px solid #5955D1;border-radius:8px;color:#FFFFFF;font-size:14px;font-weight:600;line-height:1.3;white-space:nowrap}
.sh .sh-btn:hover{background:#4743B5;border-color:#4743B5;color:#FFFFFF}
.sh .sh-btn:focus-visible{outline-offset:3px}
.sh-theme{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--sh-seg)}
.sh-theme label{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;border-radius:50%;color:var(--sh-muted);cursor:pointer}
.sh-theme input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
:root:not([data-bs-theme=dark]) .sh-theme-light{background:var(--sh-segon);color:var(--sh-fg)}
:root[data-bs-theme=dark] .sh-theme-dark{background:var(--sh-segon);color:var(--sh-link)}
.sh-more{display:none}
.sh-more summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;color:var(--sh-fg);cursor:pointer;list-style:none}
.sh-more summary::-webkit-details-marker{display:none}
.sh-more[open] summary{background:var(--sh-seg)}
.sh-panel{position:absolute;left:0;right:0;top:100%;padding:8px clamp(16px,2.4vw,32px) 14px;background:var(--sh-bg);border-top:1px solid var(--sh-line);border-bottom:1px solid var(--sh-line);box-shadow:0 12px 24px rgba(12,36,60,.1)}
.sh-panel nav{display:grid}
.sh .sh-panel .sh-link{justify-content:flex-start;border-bottom:1px solid var(--sh-line)}
.sh-panel-theme{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;color:var(--sh-fg);font-weight:500}
/* Keeps the auth pages one screen tall below the header. */
.sh-page{min-height:calc(100vh - 73px)}
@media (max-width:900px){
  .sh-links,.sh .sh-wide{display:none}
  .sh-more{display:block}
  .sh-actions{gap:0 8px}
  .sh-in{min-height:64px}
  .sh-page{min-height:calc(100vh - 65px)}
}
@media (max-width:360px){
  .sh-logo img{height:34px}
  .sh .sh-btn{padding:9px 12px}
}
/* The public footer (partials/site-footer.blade.php): dark in both colour modes, brand navy under the
   light pages and a near-black a step below the dark page. */
.sf,.sf *{box-sizing:border-box}
.sf{margin-top:clamp(36px,5vw,64px);background:var(--sf-bg);border-top:1px solid var(--sf-line);font-family:'Instrument Sans',system-ui,sans-serif;font-size:15px;line-height:1.5;color:var(--sf-muted)}
.sf-in{max-width:1464px;margin:0 auto;padding:clamp(40px,5vw,64px) clamp(16px,2.4vw,32px) 0}
.sf-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:36px 64px;padding-bottom:clamp(32px,4vw,48px);border-bottom:1px solid var(--sf-line)}
.sf-brand{flex:0 1 340px}
.sf-logo{display:inline-flex;align-items:center;min-height:44px}
.sf-logo img{display:block;height:40px;width:auto}
.sf-brand p{margin:12px 0 0;max-width:320px}
.sf-cols{display:flex;flex-wrap:wrap;gap:28px clamp(48px,6vw,104px)}
.sf-col{min-width:120px}
.sf h2{margin:0 0 4px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#FFFFFF}
.sf ul{margin:0;padding:0;list-style:none}
.sf-col a{display:inline-flex;align-items:center;min-height:44px;color:var(--sf-muted);text-decoration:none}
.sf a:hover{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}
.sf a:focus-visible{outline:2px solid #A9A6F5;outline-offset:2px;border-radius:6px;color:#FFFFFF}
.sf-bottom{margin:0;padding:20px 0 24px;font-size:14px}
@media (max-width:600px){
  .sf-brand{flex-basis:100%}
  .sf-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
}
.sh~main .container,.sh~main.container{max-width:1464px;padding-left:clamp(16px,2.4vw,32px);padding-right:clamp(16px,2.4vw,32px)}
body:has(>.sf){display:flex;flex-direction:column;min-height:100vh}body:has(>.sf)>main{flex:1 0 auto}.sh-page:has(~.sf){min-height:0}
:root[data-bs-theme=dark] body:has(>.sh){background-color:#232323}
