*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --black: #060606; --white: #f0ede8; --signal: #00e5ff;
  --signal-dim: rgba(0,229,255,0.07); --dim: #101010; --mid: #222;
  --text-dim: #555; --text-mid: #888;
  --core: #a8e6a3; --survival: #e8a87c; --belonging: #b8a4e8; --performance: #e8d484;
}
html { scroll-behavior: smooth; }
body { background: var(--black); color: var(--white); font-family: 'Barlow Condensed', sans-serif; overflow-x: hidden; cursor: none; }
.cursor { position: fixed; width: 10px; height: 10px; background: var(--signal); border-radius: 50%; pointer-events: none; z-index: 9999; transform: translate(-50%,-50%); transition: width 0.2s, height 0.2s; mix-blend-mode: screen; }
.cursor.big { width: 30px; height: 30px; }
body::after { content: ''; position: fixed; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E"); pointer-events: none; z-index: 1000; }
body::before { content: ''; position: fixed; inset: 0; background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,229,255,0.006) 2px, rgba(0,229,255,0.006) 4px); pointer-events: none; z-index: 999; }

/* NAV */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; padding: 20px 48px; display: flex; justify-content: space-between; align-items: center; background: linear-gradient(180deg, rgba(6,6,6,0.95) 0%, transparent 100%); backdrop-filter: blur(8px); }
.nav-logo { font-family: 'DM Mono', monospace; font-size: 12px; letter-spacing: 0.08em; color: var(--white); text-decoration: none; }
.nav-logo span { color: var(--signal); }
.nav-links { display: flex; gap: 28px; list-style: none; }
.nav-links a { font-family: 'DM Mono', monospace; font-size: 10px; color: var(--text-dim); text-decoration: none; letter-spacing: 0.15em; text-transform: uppercase; transition: color 0.2s; }
.nav-links a:hover { color: var(--signal); }

/* HERO */
.hero { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 120px 48px 80px; position: relative; overflow: hidden; border-bottom: 1px solid var(--mid); }
.hero-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 70% 70% at 50% 50%, rgba(0,229,255,0.03) 0%, transparent 70%); }
.hero-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(0,229,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0,229,255,0.03) 1px, transparent 1px); background-size: 64px 64px; }
.hero-content { position: relative; z-index: 2; max-width: 900px; }
.hero-kicker { font-family: 'DM Mono', monospace; font-size: 11px; color: var(--signal); letter-spacing: 0.3em; text-transform: uppercase; margin-bottom: 32px; opacity: 0; animation: fadeUp 0.7s ease 0.1s forwards; }
.hero-headline { font-family: 'Bebas Neue', sans-serif; font-size: clamp(60px, 9vw, 140px); line-height: 0.88; opacity: 0; animation: fadeUp 0.8s ease 0.3s forwards; }
.hero-headline .outline { -webkit-text-stroke: 1px rgba(255,255,255,0.2); color: transparent; }
.hero-headline .signal { color: var(--signal); }
.hero-serif { font-family: 'Instrument Serif', serif; font-style: italic; font-size: clamp(20px, 2.5vw, 30px); color: var(--text-mid); margin-top: 40px; line-height: 1.6; max-width: 580px; opacity: 0; animation: fadeUp 0.8s ease 0.5s forwards; }
.hero-serif strong { color: var(--white); font-style: normal; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; }
.hero-ctas { display: flex; gap: 16px; margin-top: 48px; opacity: 0; animation: fadeUp 0.8s ease 0.7s forwards; }
.btn-signal { background: var(--signal); color: var(--black); font-family: 'Bebas Neue', sans-serif; font-size: 17px; letter-spacing: 0.15em; padding: 14px 34px; text-decoration: none; transition: opacity 0.2s, transform 0.2s; display: inline-block; }
.btn-signal:hover { opacity: 0.85; transform: translateY(-2px); }
.btn-ghost { border: 1px solid var(--mid); color: var(--text-mid); font-family: 'Bebas Neue', sans-serif; font-size: 17px; letter-spacing: 0.15em; padding: 14px 34px; text-decoration: none; transition: border-color 0.2s, color 0.2s; display: inline-block; }
.btn-ghost:hover { border-color: var(--signal); color: var(--white); }

/* SECTIONS */
.section { padding: 100px 48px; border-bottom: 1px solid var(--mid); }
.section-label { font-family: 'DM Mono', monospace; font-size: 10px; color: var(--signal); letter-spacing: 0.3em; text-transform: uppercase; margin-bottom: 56px; display: flex; align-items: center; gap: 16px; }
.section-label::after { content: ''; flex: 1; max-width: 120px; height: 1px; background: var(--mid); }

/* PROLOGUE */
.prologue-section { background: #040404; }
.prologue-statement { font-family: 'Instrument Serif', serif; font-style: italic; font-size: clamp(26px, 3.5vw, 50px); line-height: 1.3; max-width: 820px; margin-bottom: 64px; color: var(--text-mid); }
.prologue-statement strong { color: var(--white); font-style: normal; font-family: 'Bebas Neue', sans-serif; font-size: 1.05em; letter-spacing: 0.02em; }
.prologue-body { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.prologue-body p { font-size: 19px; font-weight: 300; color: var(--text-mid); line-height: 1.75; letter-spacing: 0.02em; }
.prologue-body p + p { margin-top: 20px; }
.prologue-body strong { color: var(--white); font-weight: 400; }

/* SELF LOVE */
.self-love-section { background: #030303; }
.self-love-headline { font-family: 'Bebas Neue', sans-serif; font-size: clamp(52px, 7vw, 110px); line-height: 0.88; margin-bottom: 48px; }
.self-love-headline .outline { -webkit-text-stroke: 1px rgba(255,255,255,0.18); color: transparent; }
.self-love-headline .signal { color: var(--signal); }
.self-love-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: start; }
.self-love-body p { font-size: 18px; font-weight: 300; color: var(--text-mid); line-height: 1.75; }
.self-love-body p + p { margin-top: 20px; }
.self-love-body strong { color: var(--white); font-weight: 400; }
.conditions-stack { display: flex; flex-direction: column; gap: 2px; }
.condition-card { background: var(--dim); padding: 28px 32px; border-left: 3px solid transparent; transition: border-color 0.3s; }
.condition-card:hover { border-left-color: var(--signal); }
.condition-label { font-family: 'DM Mono', monospace; font-size: 9px; color: var(--text-dim); letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 8px; }
.condition-text { font-family: 'Instrument Serif', serif; font-style: italic; font-size: 18px; color: var(--text-mid); line-height: 1.5; }
.condition-text span { color: var(--white); font-style: normal; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; letter-spacing: 0.03em; }

/* LAYERS */
.layers-section { background: #020202; }
.layers-intro-headline { font-family: 'Bebas Neue', sans-serif; font-size: clamp(48px, 6vw, 96px); line-height: 0.9; max-width: 700px; margin-bottom: 80px; }
.layers-intro-headline .outline { -webkit-text-stroke: 1px rgba(255,255,255,0.18); color: transparent; }
.layer-diagram { display: flex; flex-direction: column; gap: 2px; margin-bottom: 80px; }
.layer-item { display: grid; grid-template-columns: 220px 1fr 1fr; gap: 0; }
.layer-name-block { padding: 36px 40px; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.layer-name { font-family: 'Bebas Neue', sans-serif; font-size: 28px; letter-spacing: 0.05em; }
.layer-tag { font-family: 'DM Mono', monospace; font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase; }
.layer-signal-block { padding: 36px 40px; border-left: 1px solid rgba(255,255,255,0.04); border-right: 1px solid rgba(255,255,255,0.04); }
.layer-signal-label { font-family: 'DM Mono', monospace; font-size: 9px; color: var(--text-dim); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 10px; }
.layer-signal-feel { font-family: 'Instrument Serif', serif; font-style: italic; font-size: 17px; line-height: 1.5; }
.layer-detail { padding: 36px 40px; }
.layer-detail-body { font-size: 15px; font-weight: 300; color: var(--text-mid); line-height: 1.7; }
.layer-core { background: rgba(168,230,163,0.04); }
.layer-core .layer-name { color: var(--core); }
.layer-core .layer-tag { color: rgba(168,230,163,0.4); }
.layer-core .layer-signal-feel { color: var(--core); }
.layer-survival { background: rgba(232,168,124,0.04); }
.layer-survival .layer-name { color: var(--survival); }
.layer-survival .layer-tag { color: rgba(232,168,124,0.4); }
.layer-survival .layer-signal-feel { color: var(--survival); }
.layer-belonging { background: rgba(184,164,232,0.04); }
.layer-belonging .layer-name { color: var(--belonging); }
.layer-belonging .layer-tag { color: rgba(184,164,232,0.4); }
.layer-belonging .layer-signal-feel { color: var(--belonging); }
.layer-performance { background: rgba(232,212,132,0.04); }
.layer-performance .layer-name { color: var(--performance); }
.layer-performance .layer-tag { color: rgba(232,212,132,0.4); }
.layer-performance .layer-signal-feel { color: var(--performance); }

/* MIRROR */
.mirror-section { background: #030303; }
.mirror-headline { font-family: 'Bebas Neue', sans-serif; font-size: clamp(44px, 5vw, 72px); line-height: 0.9; max-width: 700px; margin-bottom: 64px; }
.mirror-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-bottom: 2px; }
.mirror-card { background: var(--dim); padding: 44px; position: relative; overflow: hidden; }
.mirror-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--signal), transparent); transform: scaleX(0); transition: transform 0.5s ease; }
.mirror-card:hover::before { transform: scaleX(1); }
.mirror-card-layer { font-family: 'DM Mono', monospace; font-size: 9px; letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 20px; }
.mirror-card-quote { font-family: 'Instrument Serif', serif; font-style: italic; font-size: clamp(18px, 1.8vw, 23px); line-height: 1.45; color: var(--white); margin-bottom: 20px; }
.mirror-card-truth { font-family: 'DM Mono', monospace; font-size: 11px; color: var(--text-dim); line-height: 1.7; letter-spacing: 0.02em; }
.mirror-card-truth strong { color: var(--text-mid); font-weight: 400; }
.mirror-cta { background: var(--signal-dim); border: 1px solid rgba(0,229,255,0.12); padding: 56px; text-align: center; }
.mirror-cta-text { font-family: 'Instrument Serif', serif; font-style: italic; font-size: clamp(20px, 2.5vw, 32px); color: var(--text-mid); line-height: 1.5; margin-bottom: 32px; }
.mirror-cta-text strong { color: var(--white); font-style: normal; font-family: 'Bebas Neue', sans-serif; font-size: 1.05em; letter-spacing: 0.03em; }

/* FRAMEWORK */
.framework-section { background: #040404; }
.framework-headline { font-family: 'Bebas Neue', sans-serif; font-size: clamp(48px, 6vw, 96px); line-height: 0.9; max-width: 700px; margin-bottom: 64px; }
.framework-headline .outline { -webkit-text-stroke: 1px rgba(255,255,255,0.18); color: transparent; }
.principles-stack { display: flex; flex-direction: column; gap: 2px; }
.principle-row { display: grid; grid-template-columns: 64px 1fr 1fr; background: var(--dim); transition: background 0.3s; overflow: hidden; }
.principle-row:hover { background: #161616; }
.principle-num { font-family: 'Bebas Neue', sans-serif; font-size: 40px; color: var(--mid); padding: 28px 20px; line-height: 1; display: flex; align-items: flex-start; border-right: 1px solid var(--mid); transition: color 0.3s; }
.principle-row:hover .principle-num { color: var(--signal); }
.principle-main { padding: 28px 36px; border-right: 1px solid var(--mid); }
.principle-title { font-family: 'Bebas Neue', sans-serif; font-size: 26px; letter-spacing: 0.05em; margin-bottom: 6px; }
.principle-tag { font-family: 'DM Mono', monospace; font-size: 9px; color: var(--signal); letter-spacing: 0.2em; text-transform: uppercase; }
.principle-detail { padding: 28px 36px; }
.principle-body { font-size: 15px; font-weight: 300; color: var(--text-mid); line-height: 1.7; }

/* PROTOCOL */
.protocol-section { background: #020202; }
.protocol-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin-bottom: 64px; align-items: end; }
.protocol-headline { font-family: 'Bebas Neue', sans-serif; font-size: clamp(48px, 6vw, 88px); line-height: 0.9; }
.protocol-headline .signal { color: var(--signal); }
.protocol-sub { font-size: 18px; font-weight: 300; color: var(--text-mid); line-height: 1.7; }
.protocol-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; }
.protocol-card { background: var(--dim); padding: 32px 28px; position: relative; overflow: hidden; }
.protocol-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--signal); transform: scaleX(0); transform-origin: left; transition: transform 0.4s ease; }
.protocol-card:hover::after { transform: scaleX(1); }
.protocol-time { font-family: 'DM Mono', monospace; font-size: 9px; color: var(--signal); letter-spacing: 0.2em; margin-bottom: 16px; text-transform: uppercase; }
.protocol-card-title { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 0.04em; margin-bottom: 12px; }
.protocol-card-body { font-size: 13px; font-weight: 300; color: var(--text-mid); line-height: 1.65; }
.protocol-duration { font-family: 'Bebas Neue', sans-serif; font-size: 40px; color: rgba(0,229,255,0.1); margin-top: 16px; line-height: 1; }

/* DOCS */
.docs-section { background: var(--dim); }
.docs-headline { font-family: 'Bebas Neue', sans-serif; font-size: clamp(44px, 5vw, 76px); line-height: 0.9; margin-bottom: 48px; }
.docs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
.doc-card { background: var(--black); padding: 40px; display: flex; flex-direction: column; gap: 16px; text-decoration: none; color: inherit; transition: background 0.3s; position: relative; overflow: hidden; }
.doc-card:hover { background: #0a0a0a; }
.doc-card::before { content: ''; position: absolute; top: 0; left: 0; width: 2px; height: 100%; background: var(--signal); transform: scaleY(0); transform-origin: bottom; transition: transform 0.3s ease; }
.doc-card:hover::before { transform: scaleY(1); }
.doc-type { font-family: 'DM Mono', monospace; font-size: 9px; color: var(--signal); letter-spacing: 0.25em; text-transform: uppercase; }
.doc-title { font-family: 'Bebas Neue', sans-serif; font-size: 32px; letter-spacing: 0.04em; line-height: 1; }
.doc-desc { font-size: 15px; font-weight: 300; color: var(--text-mid); line-height: 1.65; flex: 1; }
.doc-action { font-family: 'DM Mono', monospace; font-size: 11px; color: var(--text-dim); letter-spacing: 0.1em; transition: color 0.2s; }
.doc-card:hover .doc-action { color: var(--signal); }

/* WAITLIST */
.waitlist-section { text-align: center; padding: 120px 48px; }
.waitlist-headline { font-family: 'Bebas Neue', sans-serif; font-size: clamp(52px, 7vw, 110px); line-height: 0.88; margin-bottom: 20px; }
.waitlist-headline .signal { color: var(--signal); }
.waitlist-headline .outline { -webkit-text-stroke: 1px rgba(255,255,255,0.18); color: transparent; }
.waitlist-sub { font-family: 'Instrument Serif', serif; font-style: italic; font-size: clamp(18px, 2vw, 26px); color: var(--text-mid); max-width: 520px; margin: 0 auto 48px; line-height: 1.55; }
.waitlist-form { display: flex; gap: 0; max-width: 460px; margin: 0 auto 48px; }
.waitlist-input { flex: 1; background: var(--dim); border: 1px solid var(--mid); border-right: none; color: var(--white); font-family: 'DM Mono', monospace; font-size: 12px; letter-spacing: 0.05em; padding: 16px 20px; outline: none; transition: border-color 0.2s; }
.waitlist-input:focus { border-color: var(--signal); }
.waitlist-input::placeholder { color: var(--text-dim); }
.waitlist-btn { background: var(--signal); color: var(--black); font-family: 'Bebas Neue', sans-serif; font-size: 17px; letter-spacing: 0.15em; padding: 16px 30px; border: none; cursor: pointer; transition: opacity 0.2s; }
.waitlist-btn:hover { opacity: 0.85; }
.waitlist-socials { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.social-pill { display: inline-flex; align-items: center; gap: 10px; font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: 0.06em; color: var(--text-mid); text-decoration: none; border: 1px solid var(--mid); padding: 10px 18px; transition: border-color 0.2s, color 0.2s; }
.social-pill:hover { border-color: var(--signal); color: var(--white); }
.social-pill .plat { font-size: 9px; color: var(--signal); letter-spacing: 0.15em; text-transform: uppercase; }

/* FOOTER */
footer { padding: 28px 48px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--mid); }
.footer-logo { font-family: 'DM Mono', monospace; font-size: 12px; color: var(--text-dim); }
.footer-logo span { color: var(--signal); }
.footer-copy { font-family: 'DM Mono', monospace; font-size: 10px; color: #222; }
.footer-back { font-family: 'DM Mono', monospace; font-size: 10px; color: var(--text-dim); text-decoration: none; transition: color 0.2s; }
.footer-back:hover { color: var(--signal); }

/* DOCUMENT PAGE STYLES */
.doc-page-hero { min-height: 50vh; display: flex; flex-direction: column; justify-content: flex-end; padding: 120px 48px 80px; position: relative; overflow: hidden; border-bottom: 1px solid var(--mid); }
.doc-page-hero .hero-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 70% 70% at 50% 50%, rgba(0,229,255,0.03) 0%, transparent 70%); }
.doc-page-hero .hero-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(0,229,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0,229,255,0.03) 1px, transparent 1px); background-size: 64px 64px; }
.doc-page-hero .hero-content { position: relative; z-index: 2; max-width: 900px; }
.doc-page-kicker { font-family: 'DM Mono', monospace; font-size: 11px; color: var(--signal); letter-spacing: 0.3em; text-transform: uppercase; margin-bottom: 32px; opacity: 0; animation: fadeUp 0.7s ease 0.1s forwards; }
.doc-page-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(52px, 8vw, 120px); line-height: 0.88; opacity: 0; animation: fadeUp 0.8s ease 0.3s forwards; }
.doc-page-title .outline { -webkit-text-stroke: 1px rgba(255,255,255,0.2); color: transparent; }
.doc-page-title .signal { color: var(--signal); }
.doc-page-sub { font-family: 'Instrument Serif', serif; font-style: italic; font-size: clamp(18px, 2.2vw, 28px); color: var(--text-mid); margin-top: 32px; line-height: 1.6; max-width: 600px; opacity: 0; animation: fadeUp 0.8s ease 0.5s forwards; }

.doc-content { max-width: 820px; margin: 0 auto; padding: 80px 48px 120px; }
.doc-content h2 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(36px, 4vw, 56px); line-height: 0.95; margin-top: 80px; margin-bottom: 32px; }
.doc-content h2:first-child { margin-top: 0; }
.doc-content h3 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(24px, 2.5vw, 34px); letter-spacing: 0.04em; margin-top: 56px; margin-bottom: 20px; }
.doc-content p { font-size: 18px; font-weight: 300; color: var(--text-mid); line-height: 1.8; margin-bottom: 20px; letter-spacing: 0.01em; }
.doc-content p strong { color: var(--white); font-weight: 400; }
.doc-content em { font-style: italic; }
.doc-content .doc-quote { font-family: 'Instrument Serif', serif; font-style: italic; font-size: clamp(22px, 2.5vw, 32px); color: var(--text-mid); line-height: 1.45; padding: 40px 0 40px 32px; border-left: 2px solid var(--signal); margin: 48px 0; }
.doc-content .doc-quote strong { color: var(--white); font-style: normal; font-family: 'Bebas Neue', sans-serif; font-size: 1.05em; letter-spacing: 0.02em; }
.doc-content .doc-divider { width: 60px; height: 1px; background: var(--mid); margin: 64px 0; }
.doc-content .doc-label { font-family: 'DM Mono', monospace; font-size: 10px; color: var(--signal); letter-spacing: 0.3em; text-transform: uppercase; margin-bottom: 24px; display: flex; align-items: center; gap: 16px; margin-top: 64px; }
.doc-content .doc-label::after { content: ''; flex: 1; max-width: 80px; height: 1px; background: var(--mid); }

.doc-layer-block { background: var(--dim); padding: 40px; margin: 32px 0; border-left: 3px solid transparent; }
.doc-layer-block.core { border-left-color: var(--core); }
.doc-layer-block.survival { border-left-color: var(--survival); }
.doc-layer-block.belonging { border-left-color: var(--belonging); }
.doc-layer-block.performance { border-left-color: var(--performance); }
.doc-layer-block h4 { font-family: 'Bebas Neue', sans-serif; font-size: 24px; letter-spacing: 0.05em; margin-bottom: 8px; }
.doc-layer-block.core h4 { color: var(--core); }
.doc-layer-block.survival h4 { color: var(--survival); }
.doc-layer-block.belonging h4 { color: var(--belonging); }
.doc-layer-block.performance h4 { color: var(--performance); }
.doc-layer-block .block-tag { font-family: 'DM Mono', monospace; font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-dim); margin-bottom: 16px; }
.doc-layer-block p { font-size: 16px; margin-bottom: 12px; }
.doc-layer-block p:last-child { margin-bottom: 0; }

.doc-exercise { background: var(--signal-dim); border: 1px solid rgba(0,229,255,0.12); padding: 36px; margin: 32px 0; }
.doc-exercise-label { font-family: 'DM Mono', monospace; font-size: 9px; color: var(--signal); letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 16px; }
.doc-exercise p { font-size: 16px; }
.doc-exercise ol, .doc-exercise ul { padding-left: 24px; margin-bottom: 16px; }
.doc-exercise li { font-size: 16px; font-weight: 300; color: var(--text-mid); line-height: 1.75; margin-bottom: 8px; }
.doc-exercise li strong { color: var(--white); font-weight: 400; }

.doc-principle { background: var(--dim); padding: 36px; margin: 24px 0; display: grid; grid-template-columns: 56px 1fr; gap: 0; overflow: hidden; }
.doc-principle-num { font-family: 'Bebas Neue', sans-serif; font-size: 36px; color: var(--mid); display: flex; align-items: flex-start; padding-right: 24px; border-right: 1px solid var(--mid); }
.doc-principle-content { padding-left: 24px; }
.doc-principle-title { font-family: 'Bebas Neue', sans-serif; font-size: 24px; letter-spacing: 0.04em; margin-bottom: 4px; }
.doc-principle-tag { font-family: 'DM Mono', monospace; font-size: 9px; color: var(--signal); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 12px; }
.doc-principle-body { font-size: 16px; font-weight: 300; color: var(--text-mid); line-height: 1.75; }
.doc-principle-body strong { color: var(--white); font-weight: 400; }

.doc-back-link { display: inline-flex; align-items: center; gap: 8px; font-family: 'DM Mono', monospace; font-size: 11px; color: var(--text-dim); text-decoration: none; letter-spacing: 0.1em; transition: color 0.2s; margin-bottom: 40px; }
.doc-back-link:hover { color: var(--signal); }

/* TRACKER STYLES */
.tracker-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin: 32px 0; }
.tracker-cell { background: var(--dim); padding: 32px; }
.tracker-cell-label { font-family: 'DM Mono', monospace; font-size: 9px; color: var(--signal); letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 12px; }
.tracker-cell-title { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 0.04em; margin-bottom: 8px; }
.tracker-cell-body { font-size: 14px; font-weight: 300; color: var(--text-mid); line-height: 1.65; }
.tracker-full { grid-column: 1 / -1; }
.tracker-prompt { background: var(--dim); padding: 24px 32px; margin: 8px 0; border-left: 2px solid var(--mid); }
.tracker-prompt-q { font-family: 'Instrument Serif', serif; font-style: italic; font-size: 18px; color: var(--text-mid); line-height: 1.5; }
.tracker-prompt-q strong { color: var(--white); font-style: normal; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 768px) {
  .nav, .hero, .doc-page-hero, .section, footer { padding-left: 24px; padding-right: 24px; }
  .nav { padding-top: 16px; padding-bottom: 16px; }
  .hero { padding-top: 100px; }
  .doc-page-hero { padding-top: 100px; }
  .doc-content { padding-left: 24px; padding-right: 24px; }
  .prologue-body, .self-love-grid, .protocol-intro, .mirror-grid { grid-template-columns: 1fr; gap: 40px; }
  .layer-item { grid-template-columns: 1fr; }
  .layer-signal-block, .layer-detail { display: none; }
  .principle-row { grid-template-columns: 48px 1fr; }
  .principle-detail { display: none; }
  .protocol-cards { grid-template-columns: 1fr 1fr; }
  .docs-grid { grid-template-columns: 1fr; }
  .nav-links { display: none; }
  .waitlist-form { flex-direction: column; }
  .waitlist-input { border-right: 1px solid var(--mid); border-bottom: none; }
  .doc-principle { grid-template-columns: 40px 1fr; }
  .tracker-grid { grid-template-columns: 1fr; }
}
