/* Delt topp, meny og bunn for alle sider. Egen CSS, uavhengig av style.css og stitch.css. */
.site-header, .site-footer, .site-header *, .site-footer * { box-sizing: border-box; }
.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: rgba(247,245,240,.92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 1px 8px rgba(23,22,21,.04); font-family: 'Figtree', system-ui, sans-serif; color: #171615; }
.site-header a, .site-footer a { text-decoration: none; color: inherit; }
.sh-bar { height: 80px; max-width: 1180px; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.sh-brand { display: flex; align-items: center; gap: 12px; }
.sh-logo { width: 56px; height: 56px; flex: none; }
.sh-brand-text { display: flex; flex-direction: column; }
.sh-title { display: flex; align-items: center; gap: 8px; font-size: 28px; line-height: 32px; font-weight: 700; letter-spacing: -.02em; }
.sh-name { color: #C84528; transition: color .15s; }
.sh-brand:hover .sh-name { color: #94301A; }
.sh-tag { display: none; padding: 2px 6px; border-radius: 4px; background: #EAE4D9; color: #68645E; font: 500 11px/16px 'JetBrains Mono', monospace; text-transform: uppercase; }
.sh-sub { font: 400 12px/16px 'JetBrains Mono', monospace; color: #68645E; }
.sh-nav { display: none; align-items: center; gap: 12px; }
.sh-nav a { padding: 4px 8px; border-radius: 4px; font-size: 14px; line-height: 20px; color: #59413c; transition: color .15s; }
.sh-nav a:hover { color: #1c1b1a; }
.sh-nav a[aria-current="page"], .sh-mobile a[aria-current="page"] { background: #F1EEE6; color: #171615; font-weight: 600; }
.sh-right { display: flex; align-items: center; gap: 12px; }
.sh-cta { display: none; align-items: center; justify-content: center; padding: 8px 16px; border-radius: 999px; background: #B33A20; color: #fff !important; font-size: 14px; line-height: 20px; font-weight: 600; white-space: nowrap; transition: background .15s; }
.sh-cta:hover { background: #94301A; }
.sh-toggle { width: 44px; height: 44px; border: 0; border-radius: 999px; background: #fff; color: #171615; display: flex; align-items: center; justify-content: center; box-shadow: 0 1px 2px rgba(0,0,0,.08); cursor: pointer; }
.sh-toggle .material-symbols-outlined { font-size: 24px; }
.sh-mobile { padding: 0 20px 20px; background: #F7F5F0; }
.sh-mobile.hidden { display: none; }
.sh-mobile-in { max-width: 1180px; margin: 0 auto; display: flex; flex-direction: column; gap: 4px; }
.sh-mobile a { padding: 12px; border-radius: 8px; color: #59413c; font-size: 16px; line-height: 24px; }
.sh-mobile a:hover { background: #F1EEE6; }
.sh-mobile a.sh-cta-m { display: inline-flex; justify-content: center; margin-top: 8px; background: #B33A20; color: #fff; font-weight: 600; border-radius: 999px; padding: 12px 16px; }
.sh-mobile a.sh-cta-m:hover { background: #94301A; }
body.has-chrome { padding-top: 80px; }
.site-footer { width: 100%; background: #fff; box-shadow: 0 -1px 12px rgba(23,22,21,.03); font-family: 'Figtree', system-ui, sans-serif; color: #171615; }
.sf-in { max-width: 1180px; margin: 0 auto; padding: 56px 20px; display: flex; flex-direction: column; gap: 56px; }
.sf-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
.sf-col { display: flex; flex-direction: column; gap: 8px; }
.sf-brand { display: flex; align-items: center; gap: 10px; font-size: 24px; line-height: 32px; font-weight: 700; letter-spacing: -.02em; color: #C84528; }
.sf-brand svg { width: 36px; height: 36px; }
.sf-blurb { margin: 12px 0 0; max-width: 24rem; font-size: 14px; line-height: 1.6; color: #68645E; }
.sf-h { margin-bottom: 8px; font: 400 12px/16px 'JetBrains Mono', monospace; letter-spacing: .05em; text-transform: uppercase; color: #69645D; }
.sf-links { display: flex; flex-direction: column; gap: 6px; }
.sf-links a { font-size: 14px; line-height: 20px; color: #59413c; transition: color .15s; }
.sf-links a:hover { color: #1c1b1a; }
.sf-links a[aria-current="page"] { color: #171615; font-weight: 600; }
.sf-row { display: flex; align-items: baseline; gap: 8px; font-size: 14px; line-height: 20px; }
.sf-row span:first-child { width: 64px; font: 400 12px/16px 'JetBrains Mono', monospace; color: #69645D; }
.sf-row a { font-weight: 500; }
.sf-row a:hover { color: #B33A20; }
.sf-ok { color: #1E4735; font-weight: 500; }
.sf-bottom { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 12px; padding-top: 20px; color: #69645D; font: 400 12px/16px 'JetBrains Mono', monospace; }
.sf-bottom p { margin: 0; }
.sf-bottom div { display: flex; gap: 20px; }
.sf-bottom a:hover { color: #171615; }
@media (min-width: 640px) { .sh-tag { display: inline-block; } .sh-cta { display: inline-flex; } .sh-cta-m { display: none !important; } .sf-bottom { flex-direction: row; } }
@media (min-width: 768px) { .sf-grid { grid-template-columns: 5fr 3fr 4fr; } }
@media (min-width: 1024px) { .sh-bar, .sf-in { padding-left: 40px; padding-right: 40px; } }
@media (min-width: 1280px) { .sh-nav { display: flex; } .sh-toggle { display: none; } .sh-mobile { display: none !important; } }
html { scroll-padding-top: 96px; }

@media (max-width: 639px) { .sh-logo { width: 44px; height: 44px; } .sh-title { font-size: 24px; line-height: 28px; } }
