/* Shared shell and reusable component styles. Section templates retain intentional one-off layout values. */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#0a0e0b;color:#e9efe9;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--accent);}
button{font:inherit;border:0;background:none;}
header:focus-within{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important;}
.skip-link{position:fixed;left:16px;top:12px;z-index:200;transform:translateY(-160%);padding:10px 16px;border-radius:8px;background:#fff;color:#111;font-weight:700;}
.skip-link:focus{transform:translateY(0);}
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
::selection{background:var(--accent);color:var(--accent-ink);}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes mfade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;}}

/* Reusable component primitives. Keep one-off layout differences inline until their section is extracted. */
.site-container{max-width:1360px;margin:0 auto;padding-inline:clamp(18px,4vw,44px);}
.media-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:30px;}
.section-kicker{font-family:var(--font-mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);margin-bottom:14px;}
.section-heading{font-family:var(--font-display);font-weight:var(--display-weight);font-size:clamp(30px,4vw,56px);line-height:1;margin:0;color:var(--text);}
.release-badge{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;padding:6px 13px;border:1px solid var(--border);border-radius:999px;color:var(--muted);}
.countdown-unit{min-width:66px;text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:12px 10px;}
.countdown-value{font-family:var(--font-mono);font-size:28px;font-weight:600;color:var(--text);line-height:1;}
.countdown-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-top:6px;}
.fact-row{display:flex;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border);}
.fact-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);}
.fact-value{font-size:14px;color:var(--muted);}
.story-copy{font-size:clamp(17px,1.5vw,21px);line-height:1.75;color:var(--muted);margin:0 0 22px;}
.story-copy:last-of-type{margin-bottom:0;}
.footer-heading{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:16px;}
.footer-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--faint);}
.external-icon{display:inline-block;width:11px;height:11px;vertical-align:-1px;margin-left:5px;background-color:currentColor;opacity:.72;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M7%2017L17%207M8.5%207H17V15.5'%20fill='none'%20stroke='black'%20stroke-width='2.4'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M7%2017L17%207M8.5%207H17V15.5'%20fill='none'%20stroke='black'%20stroke-width='2.4'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.notification-consent{flex-basis:100%;display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;color:var(--muted);}
.notification-consent input{margin-top:3px;accent-color:var(--accent);}
.notification-consent a{text-decoration:underline;text-underline-offset:2px;}
.notification-status{min-height:18px;margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--muted);}
button:disabled{cursor:not-allowed!important;opacity:.65;}

/* Responsive site header. Component state only controls visibility; layout stays in CSS. */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:color-mix(in srgb,var(--bg) 84%,transparent);border-bottom:1px solid var(--border);transition:transform .35s ease,opacity .3s ease;}
.site-header-inner{position:relative;max-width:1360px;margin:0 auto;padding:13px clamp(18px,4vw,44px);display:flex;align-items:center;gap:18px;}
.site-brand{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(15px,1.4vw,19px);color:var(--text);}
.site-nav{display:flex;gap:clamp(12px,1.7vw,26px);margin-left:auto;align-items:center;}
.site-nav-link{font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--muted);}
.site-header-cta{padding:12px 24px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:14px;letter-spacing:.02em;}
.site-header-cta:hover{color:var(--accent-ink);filter:brightness(1.06);}
.mobile-nav-toggle{display:none;width:44px;height:44px;margin-left:auto;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;}
.mobile-nav-toggle span{display:block;height:2px;margin:4px 0;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease;}

@media (max-width:760px){
  .site-header-inner{min-height:70px;gap:12px;}
  .mobile-nav-toggle{display:block;}
  .site-header-cta{display:none;}
  .site-nav{position:absolute;top:calc(100% + 1px);left:0;right:0;display:grid;gap:0;margin:0;padding:8px clamp(18px,4vw,44px) 16px;background:color-mix(in srgb,var(--bg) 96%,transparent);border-bottom:1px solid var(--border);box-shadow:0 20px 40px rgba(0,0,0,.28);visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:visibility .2s ease,opacity .2s ease,transform .2s ease;}
  .site-nav-link{padding:13px 4px;border-bottom:1px solid var(--border);font-size:15px;color:var(--text);}
  .site-nav-link:last-child{border-bottom:0;}
  .site-header[data-mobile-open="true"] .site-nav{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto;}
  .site-header[data-mobile-open="true"] .mobile-nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .site-header[data-mobile-open="true"] .mobile-nav-toggle span:nth-child(2){opacity:0;}
  .site-header[data-mobile-open="true"] .mobile-nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
}
