/* Shared accepted Salih typography, header, footer and navigation. */
@font-face { font-family: Inter; font-style: normal; font-weight: 400 700; font-display: swap; src: url('./assets/salih-inter-v20-latin.woff2') format('woff2'); }
@font-face { font-family: 'Instrument Serif'; font-style: normal; font-weight: 400; font-display: swap; src: url('./assets/salih-instrument-serif-v5-latin.woff2') format('woff2'); }
@font-face { font-family: 'Instrument Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url('./assets/salih-instrument-serif-v5-italic.woff2') format('woff2'); }
:root { --shell-bg:#060a12; --shell-panel:#0c1220; --shell-text:#e8eef7; --shell-muted:#aabbd0; --shell-accent:#2ee6ff; --shell-line:#648cb433; }
.site-header,.site-footer { color:var(--shell-text); font-family:Inter,system-ui,sans-serif; box-sizing:border-box; }
.site-header { position:relative; z-index:10; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; max-width:1280px; padding:18px 24px; margin:auto; }
.site-header *,.site-footer * { box-sizing:border-box; min-width:0; }
.mobile-brand { display:inline-flex; align-items:center; min-height:44px; font-size:20px; color:var(--shell-text); text-decoration:none; letter-spacing:-.7px; white-space:nowrap; }
.mobile-brand .brand-logo { display:block; width:76px; height:auto; aspect-ratio:981/1070; object-fit:contain; flex:none; }
.mobile-brand span,.site-footer h3 span { color:var(--shell-accent); }
.header-app,.menu-toggle { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:10px 14px; background:var(--shell-panel); border:1px solid #2ee6ff66; border-radius:6px; color:var(--shell-accent); font:13px/1.4 Inter,system-ui,sans-serif; text-decoration:none; white-space:nowrap; touch-action:manipulation; cursor:pointer; }
.header-app { order:3; }
.menu-toggle { display:none; }
#site-navigation { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:4px 16px; }
#site-navigation a { min-width:44px; min-height:44px; display:flex; align-items:center; text-decoration:none; color:var(--shell-muted); font-size:12px; }
#site-navigation a:hover,#site-navigation a[aria-current=page] { color:var(--shell-accent); }
#site-navigation a[aria-current=page] { text-decoration:underline; text-underline-offset:6px; }
.skip-link { position:absolute; top:-100px; z-index:13000; padding:12px 20px; color:#060a12; background:var(--shell-accent); font:16px/1.4 Inter,sans-serif; }
.skip-link:focus { top:0; }
.site-footer { width:min(100%,1280px); padding:40px 24px; margin:0 auto; border-top:1px solid var(--shell-line); }
.site-footer .footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:32px; }
.site-footer h3 { font-size:24px; margin:0 0 16px; letter-spacing:-.5px; }
.site-footer h4 { font-size:14px; margin:0 0 12px; }
.site-footer p { color:var(--shell-muted); font-size:13px; line-height:1.7; margin:0; }
.site-footer a,.site-footer button { display:flex; align-items:center; min-width:44px; min-height:44px; width:fit-content; max-width:100%; color:var(--shell-muted); font:13px/1.6 Inter,sans-serif; text-align:left; overflow-wrap:anywhere; text-decoration:none; }
.legacy-anchor { display:block; scroll-margin-top:24px; }
.site-footer a:hover,.site-footer a[aria-current=page] { color:var(--shell-accent); }
.site-footer button { background:transparent; border:0; padding:0; cursor:pointer; }
.shell-language summary { display:list-item; min-height:44px; padding-block:10px; font:13px/1.6 Inter,sans-serif; color:var(--shell-muted); cursor:pointer; }
.back-to-top { position:fixed; z-index:8; right:16px; bottom:max(16px,env(safe-area-inset-bottom)); display:grid; place-items:center; width:48px; height:48px; padding:0; background:var(--shell-panel); color:var(--shell-accent); border:1px solid var(--shell-accent); border-radius:6px; font-size:24px; cursor:pointer; }
.back-to-top[hidden] { display:none; }
.site-footer .footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:32px; padding-top:20px; border-top:1px solid var(--shell-line); color:var(--shell-muted); font:12px/1.6 Inter,sans-serif; }
.site-header :focus-visible,.site-footer :focus-visible { outline:2px solid var(--shell-accent); outline-offset:4px; }
a[data-external-link]:not([data-has-arrow])::after { content:' ↗'; white-space:pre; }
@media(max-width:1100px) {
  .mobile-brand { margin-right:auto; }
  .menu-toggle { display:inline-flex; margin-left:auto; gap:8px; }
  #site-navigation { display:none; order:4; flex:0 0 100%; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--shell-line); border-radius:8px; padding:8px; background:var(--shell-panel); }
  #site-navigation.open { display:grid; }
  #site-navigation a { font-size:15px; padding:10px; min-height:48px; overflow-wrap:anywhere; }
}
@media(max-width:600px) {
  .site-header { gap:10px; padding:12px 18px; }
  .mobile-brand { font-size:18px; min-width:64px; }
  .mobile-brand .brand-logo { width:64px; }
  .header-app,.menu-toggle { font-size:12px; padding:10px; }
  .site-footer { padding:36px 18px; }
  .site-footer .footer-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .site-footer a { font-size:14px; }
}
