/* Shared navigation and footer. Loaded last to keep every route consistent. */
.site-skip-link{position:fixed;z-index:10000;top:8px;left:16px;padding:12px 18px;background:var(--light-bg);color:var(--dark-bg);border-radius:8px;transform:translateY(-200%);font:700 16px/1.5 'Satoshi',sans-serif;}
.site-skip-link:focus{transform:none;outline:3px solid var(--accent-deep);outline-offset:2px;}
nav.site-nav{background:var(--dark-bg);border-bottom:1px solid #284858;backdrop-filter:none;}
/* Some library templates give .wrap an important mobile width; override only the shared shell. */
.site-nav .site-nav-inner,.site-footer>.wrap{width:100%!important;max-width:1120px;}
.site-nav .site-nav-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:0;padding-bottom:0;}
.site-nav .logo,.site-footer .logo{color:var(--text-on-dark);white-space:nowrap;}
.site-nav .logo span,.site-footer .logo span{color:var(--accent-soft);}
.site-nav .site-nav-links{display:flex;align-items:center;justify-content:center;gap:24px;margin-left:auto;}
.site-nav .site-nav-links>a,.site-nav .site-dropdown>summary{display:flex;align-items:center;gap:7px;min-height:44px;font:600 14px/1.4 'Satoshi',sans-serif;color:#CDDBE0;text-decoration:none;white-space:nowrap;}
.site-nav .site-dropdown{position:relative;}
.site-nav summary{cursor:pointer;list-style:none;}
.site-nav summary::-webkit-details-marker{display:none;}
.site-nav .site-chevron{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease;}
.site-nav details[open]>.site-dropdown-trigger .site-chevron{transform:rotate(180deg);}
.site-nav .site-nav-links>a:hover,.site-nav .site-dropdown>summary:hover,.site-nav .site-dropdown[open]>summary,.site-nav .site-dropdown>summary.is-active{color:#F4C45C;}
.site-nav .site-dropdown-panel{position:absolute;top:calc(100% + 8px);left:-16px;width:292px;padding:8px;border-radius:14px;background:var(--light-bg);box-shadow:0 14px 32px -12px rgba(7,24,35,.4);}
.site-nav .site-dropdown-panel a{display:block;padding:12px;font:600 15px/1.4 'Satoshi',sans-serif;color:var(--dark-bg);text-decoration:none;border-radius:8px;}
.site-nav .site-dropdown-panel a:hover,.site-nav .site-dropdown-panel a:focus-visible,.site-nav .site-dropdown-panel a[aria-current="page"]{background:var(--light-surface);color:var(--accent-deep);}
.site-nav .site-dropdown-panel a.site-menu-overview{border-bottom:1px solid var(--border-light);border-radius:0;margin-bottom:4px;padding-bottom:16px;}
.site-nav .site-nav-actions{display:flex;align-items:center;gap:16px;flex:none;}
.site-nav .site-nav-book{min-height:44px;padding:10px 18px;font-size:13px;line-height:1.4;white-space:nowrap;}
.site-nav .site-mobile-menu{display:none;}
.site-nav .site-menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--text-on-dark);border-radius:8px;}
.site-nav .site-menu-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;}
.site-nav .site-menu-toggle .site-menu-close,.site-nav .site-mobile-menu[open] .site-menu-toggle .site-menu-open{display:none;}
.site-nav .site-mobile-menu[open] .site-menu-toggle .site-menu-close{display:block;}
.site-nav .site-mobile-panel{position:fixed;top:72px;left:0;right:0;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;padding:12px 24px 24px;background:var(--dark-bg);box-shadow:0 16px 24px -18px rgba(7,24,35,.6);}
.site-nav .site-mobile-panel>a,.site-nav .site-mobile-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 0;font:600 16px/1.45 'Satoshi',sans-serif;color:#CDDBE0;text-decoration:none;border-bottom:1px solid #284858;}
.site-nav .site-mobile-group[open]>summary{color:#F4C45C;}
.site-nav .site-mobile-group[open]>summary .site-chevron{transform:rotate(180deg);}
.site-nav .site-mobile-sub{padding:4px 0 12px 16px;}
.site-nav .site-mobile-sub a{display:block;min-height:44px;padding:11px 0;font:500 15px/1.5 'Satoshi',sans-serif;color:#CDDBE0;text-decoration:none;}
.site-nav .site-mobile-sub a:hover,.site-nav .site-mobile-sub a[aria-current="page"]{color:#F4C45C;}
.site-nav .site-nav-links>a[aria-current="page"],.site-nav .site-mobile-panel>a[aria-current="page"]{color:#F4C45C;}
.site-nav :is(a,summary):focus-visible,.site-footer a:focus-visible{outline:3px solid #F4C45C;outline-offset:3px;}
.site-nav .site-dropdown-panel a:focus-visible{outline-color:var(--accent-deep);outline-offset:-2px;}

footer.site-footer{padding:32px 0 24px;background:var(--dark-bg);border-top:1px solid #284858;color:#CDDBE0;font-size:16px;line-height:1.7;}
.site-footer>.wrap{display:block;}
.site-footer .site-footer-top{display:grid;grid-template-columns:.8fr 3fr;gap:48px;padding-bottom:24px;}
.site-footer .site-footer-brand{padding-top:3px;}
.site-footer .site-footer-links{display:grid;grid-template-columns:1.25fr 1fr .85fr;gap:32px;}
.site-footer .site-footer-heading{margin:0 0 10px;color:#F4C45C;font:700 14px/1.4 'Satoshi',sans-serif;letter-spacing:0;text-transform:none;}
.site-footer .site-footer-group a{display:block;width:fit-content;padding:5px 0;margin:0;color:#CDDBE0;font:400 14px/1.5 'Manrope',sans-serif;text-decoration:none;}
.site-footer .site-footer-group a:hover,.site-footer .site-footer-bottom a:hover{color:var(--text-on-dark);text-decoration:underline;text-underline-offset:4px;}
.site-footer .site-footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding-top:16px;border-top:1px solid #284858;}
.site-footer .site-footer-legal{color:#CDDBE0;font:400 12px/1.6 'Manrope',sans-serif;}
.site-footer .site-footer-contact{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;}
.site-footer .site-footer-bottom a{display:inline-flex;align-items:center;min-height:32px;color:#CDDBE0;font:400 12px/1.6 'Manrope',sans-serif;text-decoration:none;}
.cookie-reopen-label{display:none;}
.site-footer .cookie-reopen:focus-visible{outline:3px solid #F4C45C;outline-offset:3px;}
@media(max-width:1024px){
  .site-nav .site-nav-inner{gap:20px;}
  .site-nav .site-nav-links{gap:20px;}
  .site-footer .site-footer-top{grid-template-columns:1fr;gap:24px;}
  .site-footer .site-footer-links{grid-template-columns:1.2fr 1fr .8fr;}
  footer.site-footer{padding-bottom:64px;}
}
@media(max-width:960px){
  .site-nav .site-nav-links{display:none;}
  .site-nav .site-mobile-menu{display:block;}
  /* A normal footer control cannot cover reading or form fields on phones. */
  .site-footer .cookie-reopen{position:static;inset:auto;width:auto;height:auto;min-height:44px;gap:8px;padding:8px 0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;color:#CDDBE0;font:400 12px/1.6 'Manrope',sans-serif;}
  .site-footer .cookie-reopen.is-visible{display:inline-flex;}
  .site-footer .cookie-reopen-label{display:inline;}
  .site-footer .cookie-reopen svg{stroke:currentColor;color:inherit;}
}
@media(max-width:640px){
  footer.site-footer{padding:28px 0 64px;}
  .site-footer .site-footer-top{gap:20px;padding-bottom:20px;}
  .site-footer .site-footer-links{grid-template-columns:1.15fr 1fr;gap:20px 24px;}
  .site-footer .site-footer-group a{min-height:44px;padding:10px 0;font-size:13px;line-height:1.5;}
  .site-footer .site-footer-company{grid-column:1/-1;}
  .site-footer .site-footer-company-links{display:flex;flex-wrap:wrap;gap:0 24px;}
  .site-footer .site-footer-company .site-footer-heading{margin-bottom:4px;}
  .site-footer .site-footer-bottom{display:block;}
  .site-footer .site-footer-contact{gap:0 20px;margin-top:8px;}
  .site-footer .site-footer-bottom a{min-height:44px;}
}
@media(max-width:400px){
  .site-nav .site-nav-inner{gap:12px;}
  .site-nav .site-nav-actions{gap:8px;}
  .site-nav .site-nav-book{font-size:12px;padding:10px 12px;}
  .site-footer .site-footer-links{gap:20px 16px;}
}
@media(prefers-reduced-motion:reduce){.site-nav .site-chevron{transition:none;}}
