
/* Institutional Width Lock */
.container,
.content,
.section-inner,
main {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

@font-face {
  font-family: 'Space Grotesk';
  src: url('/assets/fonts/SpaceGrotesk-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Space Grotesk';
  src: url('/assets/fonts/SpaceGrotesk-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Space Grotesk';
  src: url('/assets/fonts/SpaceGrotesk-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Space Grotesk';
  src: url('/assets/fonts/SpaceGrotesk-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root{
  --text-primary: #FFFFFF;
  --text-secondary: rgba(255,255,255,0.80);
  --text-body: rgba(255,255,255,0.60);
  --text-meta: rgba(255,255,255,0.40);
}

:root{
  --blue:#19B8FF;
  --purple:#9A78FF;
  --pink:#FF3AAE;
  --bg:#0b0f14;

  --header-height:56px;
  --header-gap:24px;

  --h1-desktop:64px; --h1-mobile:36px;
  --h2-desktop:32px; --h2-mobile:22px;
  --body-desktop:18px; --body-mobile:16px;
  --price-desktop:56px; --price-mobile:36px;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:'Space Grotesk', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background:var(--bg);
  color:var(--text-body);
  line-height:1.5;
  font-size:var(--body-desktop);
}

main{
  
  margin:0 auto;
  padding:calc(var(--header-height) + var(--header-gap)) 40px 80px;
}

@media(max-width:768px){
  body{
  margin:0;
  font-family:'Space Grotesk', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background:var(--bg);
  color:var(--text-body);
  line-height:1.5;
  font-size:var(--body-desktop);
}
}

.kicker{
  color:var(--purple);
  letter-spacing:.2em;
  
  font-size:12px;
  margin-top:24px;
}

@media(max-width:768px){

}

p,li{font-size:var(--body-desktop)}
@media(max-width:768px){p,li{font-size:var(--body-mobile)}}

section{margin-bottom:120px}

/* Header */
header{
  position:fixed;
  top:0; left:0; right:0;
  height:var(--header-height);
  padding:0 24px;
  display:flex;
  align-items:center;
  background:rgba(0,0,0,.85);
  backdrop-filter:blur(10px);
  z-index:10;
}

.header-inner{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.brand{
  text-decoration:none;
  color:inherit;
}

/* Menu button */
.menu-toggle{
  background:none;
  border:none;
  padding:0;
  color:rgba(255,255,255,0.60);
  font-size:14px;
  letter-spacing:.12em;
  
  cursor:pointer;
}

.menu-toggle:hover{color:#fff}

/* Menu overlay */
.menu-overlay{
  position:fixed;
  inset:0;
  background:#0b0f14;
  z-index:9999;
  padding:96px 24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}

.menu-overlay[hidden]{display:none}

.menu-overlay a{
  font-size:22px;
  font-weight:400;
  text-decoration:none;
  color:var(--text-primary);
  opacity:.9;
  margin:8px 0;
}

.menu-overlay a:hover{opacity:1}

body.menu-open{overflow:hidden}

/* Acquisition document */
.acquisition{
  
  margin:60px auto;
  padding:64px;
  background:#0b0f14;
  border:1px solid #1f2430;
  border-radius:12px;
}

.acquisition 
.acquisition 

.price{
  font-size:var(--price-desktop);
  font-weight:700;
  color:var(--pink);
}

@media(max-width:768px){
  .price{font-size:var(--price-mobile)}
}

.acquisition .price{
  font-weight:600;
  letter-spacing:-0.01em;
  margin-top:8px;
}

.asset,.manifest-table{
  border:1px solid #2a2f3a;
  padding:48px;
  border-radius:12px;
  background:#0b0f14;
}

.asset{box-shadow:0 0 0 1px rgba(255,255,255,.05)}

.acquisition .asset li{margin:12px 0}

.acquisition .section-title{
  font-size:12px;
  letter-spacing:.3em;
  
  color:#9A78FF;
  margin-top:48px;
}

.acquisition .divider{
  
  margin:16px 0 32px;
}

.acquisition .price-label{
  font-size:12px;
  letter-spacing:.25em;
  
  color:#19B8FF;
}

.acquisition .manifest-table{
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:10px 32px;
  margin-top:24px;
}

.acquisition .manifest-table dt{
  font-weight:700;
  color:rgba(255,255,255,0.60);
}

.acquisition .manifest-table dd{
  margin:0 0 8px 0;
  color:var(--text-primary);
}

/* Footer */

footer a{
  color:inherit;
  text-decoration:none;
  
}

footer a:hover{text-decoration:underline}

/* Decorative layers */
/* === Acquisition price vertical accent (final polish) === */
.price-block {
  border-left: 3px solid var(--pink);
  padding-left: 24px;
}

/* --- Layout Polish --- */

.content {
  margin-top: 32px;
}

.spec-meta {
  margin: 24px 0 40px;
}

.spec-meta p {
  margin: 4px 0;
}

/* ===== FINAL OPTICAL POLISH ===== */

/* Stronger visual hierarchy */

/* Better rhythm after tagline */

/* SPEC document spacing */
.spec-meta {
  margin: 32px 0 48px;
}

/* Improve document readability */
.content {
  
}

/* Footer separation */

/* ===== Minimal Link Color Fix ===== */
a{
  color: var(--purple);
  text-decoration:none;
}

a:hover{
  opacity:.85;
}

/* Minimal Acquisition Price Styling */
.acquisition-price,
.price,
.price-large {
    color: #FFFFFF;
    font-weight: 600;
    letter-spacing: -0.5px;
}

/* Subtle vertical accent line matching link color */
.price-section,
.acquisition-section {
    position: relative;
    padding-left: 24px;
}

.price-section::before,
.acquisition-section::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 2px;
    background: var(--purple);
    opacity: 0.6;
}

/* Statement layer refinement */

.tagline + p {
  margin-top: 2rem;
}

/* --- Final Hierarchy System --- */

/* Functional subheading (definition layer) */
.subheading {
  font-size: 1.05rem;
  line-height: 1.6;
  font-weight: 400;
  color: var(--text-body);
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
  max-width: 42rem;
}

/* Declarative tagline (doctrine layer) */
.tagline {
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.015em;
  color: var(--text-primary);
  margin-top: 0.75rem;
  margin-bottom: 3.5rem;
  max-width: 42rem;
}

/* Clear separation from body */
.tagline + p {
  margin-top: 2.5rem;
}

/* --- Hero Spacing Refinement --- */

.subheading {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.tagline {
  margin-top: 0.75rem;
  margin-bottom: 3.75rem;
}

/* Premium vertical breathing */
.hero {
  padding-top: 6rem;
  padding-bottom: 5rem;
}

/* --- Desktop Hero Refinement --- */

@media (min-width: 1024px) {

  .hero {
    padding-top: 8rem;
    padding-bottom: 7rem;
  }

  .subheading {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
  }

  .tagline {
    font-size: 1.6rem;
    margin-bottom: 4rem;
  }
}

/* --- SPEC Document Refinement --- */

.spec-hero .subheading {
  font-size: 1.05rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  opacity: 0.85;
}

.spec-hero .tagline {
  font-size: 1rem;
  margin-bottom: 1.25rem;
  opacity: 0.8;
}

@media (min-width: 1024px) {
  .spec-hero .subheading {
    font-size: 1.125rem;
  }
}

/* --- Hero spacing correction (MemoraX refinement) --- */
main > .tagline {
  margin-top: 0;
}

@media (min-width: 1024px) {
  }

/* ================================================= */
/* MEMORAX GLOBAL VISUAL SYSTEM REFINEMENT */
/* ================================================= */

/* -------- Core Hierarchy Reset -------- */

h1, h2, h3 {
  margin-top: 0;
}

/* -------- Hero System -------- */

main > .kicker,
main > h1,
main > h2,
main > .tagline {
  max-width: 48rem;
}

main > .kicker {
  margin-bottom: 1.25rem;
}

main > .tagline {
  font-weight: 500;
  letter-spacing: 0.015em;
  font-size: 1.6rem;
  margin-bottom: 6rem;
  line-height: 1.6;
}

/* -------- Document Column Consistency -------- */

.content {
  max-width: 42rem;
  margin-top: 0;
}

section {
  margin-bottom: 6rem;
}

/* -------- Page Consistency (Spec / Acquisition) -------- */

.spec-hero,
.acquisition {
  max-width: 48rem;
}

.spec-hero h1,
.acquisition 

.spec-hero h2,
.acquisition 

/* -------- Footer Rhythm -------- */

/* Desktop refinement */
@media (min-width: 1024px) {

    main > .tagline {
    margin-bottom: 7rem;
  }

  .content {
    max-width: 46rem;
  }

}

/* ================================================= */
/* MEMORAX CLEAN VISUAL SYSTEM (REFactored) */
/* ================================================= */

/* ---------- Base Typography ---------- */

h1 {
  font-size: var(--h1-desktop);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.08;
  margin-bottom: 2rem;
}

h2 {
  font-size: var(--h2-desktop);
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-bottom: 3rem;
}

@media (max-width: 768px) {
  h1 { font-size: var(--h1-mobile); }
  h2 { font-size: var(--h2-mobile); }
}

/* ---------- Hero System ---------- */

main > .kicker,
main > h1,
main > h2,
main > .tagline {
  max-width: 48rem;
}

main > .kicker {
  margin-bottom: 1.25rem;
}

main > .tagline {
  font-weight: 500;
  letter-spacing: 0.015em;
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 6rem;
}

/* Desktop hero refinement */
@media (min-width: 1024px) {
  main > h2 { margin-bottom: 3.5rem; }
  main > .tagline { margin-bottom: 7rem; }
}

/* ---------- Document Column ---------- */

.content {
  max-width: 46rem;
  margin-top: 0;
}

section {
  margin-bottom: 6rem;
}

/* ---------- Footer Rhythm ---------- */

/* ================================================= */

/* ================================================= */
/* MEMORAX SLOGAN REFINEMENT */
/* ================================================= */

/* Balance slogan between definition and document */
main > .tagline {
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 2.25rem;
  margin-bottom: 5rem;
  line-height: 1.6;
}

/* Stronger structural pause before document begins */
.content {
  margin-top: 0;
}

/* Desktop precision */
@media (min-width: 1024px) {
  main > .tagline {
    margin-top: 2.5rem;
    margin-bottom: 6rem;
  }
}

/* ================================================= */
/* FINAL TAGLINE POSITIONING (CATEGORY PIVOT FIX) */
/* ================================================= */

main > .tagline {
  margin-top: 3.5rem;
  margin-bottom: 5rem;
}

/* Desktop refinement */
@media (min-width: 1024px) {
  main > .tagline {
    margin-top: 4rem;
    margin-bottom: 6rem;
  }
}

.hero-consequence {
  display: block;
  margin-top: 6px;
  font-weight: 600;
}

/* Statement + Consequence Hierarchy (Refined Rhythm) */
.hero-statement {
  font-size: 28px;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.hero-consequence {
  display: block;
  margin-top: 8px;
  font-weight: 600;
  letter-spacing: -0.005em;
}

/* --- Systematic Text Hierarchy Override --- */
h1{ color:var(--text-primary); }
h2{ color:var(--text-secondary); }
.subheading{ color:var(--text-body); }
p, li{ color:var(--text-body); }
.meta, .kicker-meta{ color:var(--text-meta); }

/* ===== Final Authority Calibration ===== */

main {
  
}

h1 {
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin-bottom: 1.25rem;
}

h2 {
  margin-top: 6rem;
  margin-bottom: 2rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.subheading {
  font-size: 1.1rem;
  max-width: 48rem;
}

section {
  margin-bottom: 8rem;
}

/* Institutional footer spacing refinement */

@media (max-width: 768px) {
    
}

/* ===============================
   FULL MOBILE RHYTHM SYSTEM
   Institutional normalization
================================= */

/* Header breathing room */
header {
    padding-top: calc(24px + env(safe-area-inset-top));
}

/* Typographic hierarchy */
h1 {
    margin-bottom: 24px;
}

h2 {
    margin-bottom: 20px;
}

p {
    line-height: 1.6;
    margin-bottom: 20px;
}

/* Primary link breathing */
a {
    margin-top: 8px;
}

/* Section rhythm */
section { margin-bottom: 120px;
}

@media (max-width: 768px) {

    section { margin-bottom: 120px;
    }

    h1 {
        margin-bottom: 20px;
    }

    h2 {
        margin-bottom: 18px;
    }

    p {
        margin-bottom: 18px;
    }

}

/* === Micro Optical Rhythm Adjustment === */

/* Spec page slight tightening */
.spec-hero h1 {
    margin-bottom: 20px;
}

.spec-hero .tagline {
    margin-top: 14px;
}

/* Acquisition page subtle tightening */
.acquisition-hero {
    margin-bottom: 60px;
}

/* === End Micro Adjustment === */

/* =============================== */
/* CLEAN FOOTER (Authoritative)   */
/* =============================== */

footer {
    padding-top: 64px;
    padding-bottom: 40px;
}

/* 0.60 – Brand + Copyright */
footer .footer-brand,
footer .footer-tagline,
footer .footer-copy {
    color: rgba(255,255,255,0.60);
}

/* 0.90 – Email + Social Links */
footer .footer-email,
footer .footer-links a {
    color: rgba(255,255,255,0.90);
    text-decoration: none;
}

/* Hover */
footer .footer-links a:hover {
    color: #ffffff;
}

