/* enneagramtest.co.uk — shared chrome (header, nav, footer, reset).
   Byte-identical across all content pages; edit here once. Linked by every page.
   Page-specific layout stays in each page's own <style> block. */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
#nav-toggle { display: none; }
.header-wrap { position: relative; z-index: 200; }
.site-header { background: #fff; border-bottom: 1px solid rgba(65,90,119,0.12); padding: 12px 28px; display: flex; align-items: center; justify-content: space-between; }
.site-header .logo a { display: block; line-height: 0; }
.site-header .logo img { height: 72px; width: auto; display: block; }
.hamburger-btn { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 40px; height: 40px; padding: 6px; cursor: pointer; border-radius: 8px; transition: background 0.15s; }
.hamburger-btn:hover { background: rgba(65,90,119,0.07); }
.hamburger-btn span { display: block; height: 2px; width: 100%; background: #415A77; border-radius: 2px; transition: transform 0.25s ease, opacity 0.2s ease; transform-origin: center; }
#nav-toggle:checked ~ .site-header .hamburger-btn span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
#nav-toggle:checked ~ .site-header .hamburger-btn span:nth-child(2) { opacity: 0; transform: scaleX(0); }
#nav-toggle:checked ~ .site-header .hamburger-btn span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.site-nav { display: none; position: absolute; top: 100%; right: 0; width: 280px; background: #fff; border: 1px solid rgba(65,90,119,0.12); border-top: none; border-radius: 0 0 12px 12px; box-shadow: 0 8px 24px rgba(28,42,58,0.1); padding: 8px 20px 20px; flex-direction: column; z-index: 199; }
#nav-toggle:checked ~ .site-nav { display: flex; }
.site-nav a { font-size: 15px; font-weight: 600; color: #415A77; text-decoration: none; padding: 12px 0; border-bottom: 1px solid rgba(65,90,119,0.08); display: block; }
.site-nav a:hover { color: #1C2A3A; }
.site-nav a.dimmed { opacity: 0.4; cursor: default; pointer-events: none; }
.site-nav .nav-divider { height: 1px; background: rgba(65,90,119,0.12); margin: 8px 0; }
.site-nav .nav-actions { display: flex; gap: 10px; padding-top: 12px; }
.site-nav .btn-register, .site-nav .btn-login { padding: 9px 20px; border-radius: 7px; font-size: 14px; font-weight: 600; text-decoration: none; border-bottom: none !important; white-space: nowrap; }
.site-nav .btn-register { background: #415A77; color: #fff !important; }
.site-nav .btn-register:hover { background: #1C2A3A; }
.site-nav .btn-login { background: transparent; color: #415A77 !important; border: 1.5px solid rgba(65,90,119,0.35) !important; }
.site-nav .btn-login:hover { border-color: #415A77 !important; background: rgba(65,90,119,0.04); }
.footer { background: #F4F1ED; border-top: 1px solid rgba(65,90,119,0.12); padding: 32px 24px; text-align: center; font-size: 13px; color: #415A77; line-height: 1.8; }
.footer a { color: #415A77; text-decoration: none; }
.footer a:hover { text-decoration: underline; }
