/* ── Stratos shared styles: nav (mobile), cookie banner, secondary pages ── */

/* Mobile nav toggle */
.nav-cta-mobile{display:none;}
.nav-toggle{display:none;width:40px;height:40px;background:none;border:0;cursor:pointer;padding:8px;margin-left:auto;}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;margin:5px 0;transition:transform .2s,opacity .2s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:900px){
  .nav-toggle{display:block;}
  nav .nav-links{display:none;position:fixed;top:56px;left:0;right:0;flex-direction:column;gap:0;background:rgba(14,14,14,0.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,0.1);padding:8px 0 12px;}
  nav.open .nav-links{display:flex;}
  nav .nav-links li a{display:block;padding:14px 24px;font-size:13px;color:rgba(255,255,255,0.85);}
  nav.open .nav-cta-mobile{display:block;margin:10px 24px 4px;text-align:center;}
}

/* Skip link */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:999;background:#0EA89A;color:#fff;padding:8px 14px;font-size:13px;text-decoration:none;}
.skip-link:focus{left:8px;}

/* Visible keyboard focus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #0EA89A;outline-offset:2px;}

/* Form validation */
.field-error{display:none;font-family:'IBM Plex Mono',monospace;font-size:11px;color:#B23A3A;margin-top:6px;letter-spacing:.04em;}
.is-invalid input,.is-invalid select,.is-invalid textarea{border-color:#B23A3A!important;}
.is-invalid .field-error{display:block;}
.form-status{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.06em;margin-top:12px;}
.form-status.err{color:#B23A3A;}
.form-status.ok{color:#0EA89A;}

/* Cookie banner */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:500;max-width:560px;margin:0 auto;background:#0D0D0D;color:#fff;border:1px solid rgba(255,255,255,0.12);padding:20px 22px;display:none;gap:14px;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,0.35);}
.cookie-banner.show{display:flex;}
.cookie-banner p{font-size:13px;line-height:1.6;color:rgba(255,255,255,0.8);}
.cookie-banner p a{color:#1ABCAD;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-actions button{cursor:pointer;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:10px 18px;border:1px solid rgba(255,255,255,0.45);background:transparent;color:#fff;}
.cookie-actions button.primary{background:#fff;color:#0D0D0D;border-color:#fff;}
.cookie-actions button:hover{background:rgba(255,255,255,0.12);}
.cookie-actions button.primary:hover{background:#e8e8e8;}

/* ── Secondary pages (privacy, terms, EPR, 404) ── */
.page{max-width:1120px;margin:0 auto;padding:130px 40px 80px;}
.page-narrow{max-width:760px;margin:0 auto;padding:130px 40px 80px;}
.page-kicker{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#0B8579;margin-bottom:14px;}
.page h1{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:600;line-height:1.05;letter-spacing:-0.02em;margin-bottom:20px;}
.page-narrow h1{font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.08;letter-spacing:-0.02em;margin-bottom:12px;}
.page-lead{font-size:18px;font-weight:300;line-height:1.7;color:#444;max-width:640px;}
.page-meta{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#6B6B6B;margin-bottom:40px;}
.prose h2{font-size:1.25rem;font-weight:600;margin:40px 0 12px;letter-spacing:-0.01em;}
.prose h3{font-size:1rem;font-weight:600;margin:24px 0 8px;}
.prose p,.prose li{font-size:15px;line-height:1.75;color:#333;}
.prose p{margin-bottom:14px;}
.prose ul{padding-left:20px;margin-bottom:14px;}
.prose li{margin-bottom:6px;}
.prose a{color:#0B8579;}
.prose table{width:100%;border-collapse:collapse;font-size:14px;margin:14px 0 22px;}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,0.1);vertical-align:top;}
.prose th{font-weight:600;background:#ECEAE0;}
.prose .note{background:#ECEAE0;border-left:3px solid #0EA89A;padding:14px 16px;font-size:14px;margin:16px 0 22px;}

/* 404 */
.nf{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 40px 80px;max-width:760px;margin:0 auto;}
.nf-code{font-family:'IBM Plex Mono',monospace;font-size:clamp(4rem,14vw,9rem);font-weight:500;line-height:1;color:#0EA89A;letter-spacing:-0.04em;}
.nf h1{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:600;margin:16px 0 12px;letter-spacing:-0.02em;}
.nf p{font-size:16px;color:#444;max-width:520px;line-height:1.7;margin-bottom:28px;}
.nf-links{display:flex;gap:12px;flex-wrap:wrap;}
.btn-dark{display:inline-block;padding:12px 26px;background:#0D0D0D;color:#fff;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;}
.btn-dark:hover{background:#2a2a2a;}
.btn-ghost{display:inline-block;padding:12px 26px;border:1px solid rgba(0,0,0,0.3);color:#0D0D0D;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;}
.btn-ghost:hover{background:rgba(0,0,0,0.05);}

@media(max-width:900px){
  .page,.page-narrow,.nf{padding-left:20px;padding-right:20px;padding-top:100px;}
  .prose table{display:block;overflow-x:auto;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}
