/* Freedom-I: editorial campaign, extending the Exovision Lab visual system. */
.freedom-page { --t-base: 1rem; }
.freedom-page p { line-height: 1.7; }
.freedom-page main { background: var(--ink-900); }
.freedom-page .masthead { background: #0b1220e8; backdrop-filter: blur(16px); border-bottom-color: var(--line); }
.freedom-page .masthead[data-hidden='true'] { transform: none; }
.freedom-page .nav a { font-size: .875rem; }
.freedom-page section[id], .freedom-page div[id] { scroll-margin-top: 6rem; }
.freedom-page .label { font-size: .875rem; letter-spacing: .07em; }
.freedom-hero { padding: 8.5rem 0 0; }
.campaign-kicker { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 3.5rem; }
.campaign-status { font: .875rem/1.5 var(--font-mono); color: var(--bone-400); }
.freedom-hero__grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 5rem; padding-bottom: 4rem; }
.freedom-hero h1 { font-size: clamp(4rem, 7.4vw, 7rem); line-height: .98; letter-spacing: -.04em; }
.freedom-hero h1 em, .pledge-forever em { color: var(--accent-text); }
.hero-thesis { font: 1.75rem/1.35 var(--font-display); color: var(--bone-100); max-width: 32ch; margin-top: 2rem; }
.hero-intro { max-width: 52ch; color: var(--bone-400); margin: 1.3rem 0 2rem; }
.forever-pledge { padding: 2.4rem 0 2rem 3rem; border-left: 1px solid var(--line-strong); align-self: center; }
.pledge-price { font: 5.7rem/1 var(--font-display); margin-top: 1.4rem; letter-spacing: -.04em; }
.pledge-price small { font: 1.5rem var(--font-sans); letter-spacing: -.03em; }
.pledge-forever { font-size: clamp(3rem, 4.6vw, 4.5rem); line-height: 1.02; margin: 1.3rem 0; }
.pledge-spec { color: var(--accent-text); font: .9375rem/1.65 var(--font-mono); }
.pledge-foot { color: var(--bone-400); margin: 1.5rem 0; font-size: .9375rem; }
.forever-pledge .link { font-size: .875rem; }
.freedom-index { border-block: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 1rem 2.5rem; padding: 1.5rem 0; color: var(--bone-400); font: .875rem var(--font-mono); }
.freedom-index a:hover { color: var(--accent-text); }
.campaign-film { padding-top: 3rem; padding-bottom: 5rem; }
.film-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 2rem; padding-bottom: 1.2rem; }
.film-heading h2 { font: 1.5rem var(--font-display); }
.film-heading .mono { font-size: .875rem; color: var(--bone-400); }
.campaign-film video { display: block; width: 100%; aspect-ratio: 16/9; background: #030508; border: 1px solid var(--line-strong); object-fit: contain; }
.film-caption { display: flex; justify-content: space-between; gap: 3rem; padding-top: 1rem; color: var(--bone-400); font-size: .875rem; }
.film-caption p { max-width: 58ch; }
.freedom-section { background: var(--ink-900); }
.freedom-page .section__head h2 { max-width: 29ch; }
.freedom-page .section__head .lede { max-width: 65ch; color: var(--bone-400); }
.manifesto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; }
.manifesto-quote { font-size: 2.8rem; line-height: 1.17; color: var(--accent-text); border-top: 1px solid var(--line-strong); padding-top: 2rem; text-wrap: balance; }
.manifesto-quote cite { display: block; font: normal .875rem/1.7 var(--font-mono); color: var(--bone-400); margin-top: 2rem; letter-spacing: .035em; }
.narrative p + p { margin-top: 1.5rem; }
.narrative p { color: var(--bone-400); }
.narrative .lede { color: var(--bone-100); font-size: 1.4rem; line-height: 1.5; }
.narrative .narrative-close { color: var(--accent-text); font: 2.3rem/1.2 var(--font-display); border-top: 1px solid var(--line); padding-top: 1.6rem; }
.infra-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; }
.infra-proof { background: var(--ink-850); border: 1px solid var(--line); padding: 2.5rem; }
.infra-proof .label { color: var(--accent-text); }
.infra-proof h3 { font-size: 2.7rem; margin: 1.5rem 0; }
.infra-proof p { color: var(--bone-400); }
.infra-proof p + p { margin-top: 1rem; }
.tech-list { display: flex; flex-wrap: wrap; gap: .75rem; padding-top: 2rem; }
.tech-list span { font: .875rem var(--font-mono); color: var(--bone-200); padding: .5rem .8rem; border: 1px solid var(--line-strong); }
.infra-capabilities article { display: grid; grid-template-columns: 1.5rem 1fr; gap: 1rem; padding: 1.4rem 0; border-top: 1px solid var(--line); }
.infra-capabilities h3 { font: 1.75rem/1.2 var(--font-display); margin-bottom: .8rem; }
.infra-capabilities p { color: var(--bone-400); }
.infra-capabilities .feature-index { margin: .3rem 0 0; font-size: .875rem; }
.architecture-line { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 3rem; border: 1px solid var(--line-strong); }
.architecture-line span { padding: 1.2rem .8rem; color: var(--accent-text); font: .875rem/1.5 var(--font-mono); text-align: center; }
.architecture-line span + span { border-left: 1px solid var(--line-strong); }
.section-note { color: var(--bone-400); font-size: .875rem; margin-top: 1.5rem; max-width: 100ch; }
.identity-section { background: var(--ink-850); }
.identity-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 2.5rem; }
.identity-grid article { border-top: 1px solid var(--line-strong); padding-top: 1.5rem; }
.identity-grid h3 { font-size: 2.4rem; margin: 1.5rem 0 1rem; }
.identity-grid p { color: var(--bone-400); }
.identity-grid .link { margin-top: 1.5rem; font-size: .875rem; display: inline-block; }
.identity-note { font-size: .875rem; padding-top: 1.5rem; }
.participation-section { background: radial-gradient(ellipse at 25% 15%, #10445150, transparent 65%), var(--ink-900); }
.tier-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.tier { display: flex; flex-direction: column; background: var(--ink-850); border: 1px solid var(--line-strong); padding: 2rem; }
.tier--founder { border-color: var(--accent-text); background: #102b34; }
.tier-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .8rem; color: var(--accent-text); }
.tier-top .label, .tier-limit { font: .875rem/1.5 var(--font-mono); }
.tier-limit { color: var(--bone-400); }
.tier h3 { font-size: 2rem; margin: 1.8rem 0; min-height: 2.2em; }
.tier-price { font: 3.9rem/1 var(--font-display); letter-spacing: -.04em; }
.tier-price span { font: 1.2rem var(--font-sans); letter-spacing: 0; }
.tier-price small { display: block; font: .875rem var(--font-sans); color: var(--bone-400); margin-top: .6rem; letter-spacing: 0; }
.tier-promise { color: var(--accent-text); margin: 1.5rem 0; font-size: 1rem; }
.tier-specs { margin: 0 0 1.5rem; font-size: .9375rem; }
.tier-specs > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.tier-specs dt { color: var(--bone-400); }
.tier-specs dd { font-weight: 500; }
.tier ul { color: var(--bone-400); padding-left: 1.1rem; margin-bottom: 2rem; font-size: .9375rem; }
.tier li + li { margin-top: .8rem; }
.tier .btn { margin-top: auto; text-align: center; justify-content: center; width: 100%; font-size: .875rem; padding-inline: .5rem; }
.tier-foot { color: var(--bone-400); font-size: .875rem; padding-top: 1.2rem; }
.storage-review { border-left: 2px solid var(--accent-text); padding: .6rem 1rem; margin-top: 1.5rem; font-size: .9375rem; color: var(--bone-200); }
.allocation { display: grid; grid-template-columns: 1.4fr 1fr; gap: 5rem; padding-top: 4rem; margin-top: 4rem; border-top: 1px solid var(--line-strong); }
.allocation h3 { font-size: 2.4rem; line-height: 1.15; margin: 1.5rem 0; }
.allocation p { color: var(--bone-400); }
.allocation-calculator { padding: 2rem; background: var(--ink-850); border: 1px solid var(--line-strong); }
.allocation-calculator label { font-size: 1rem; display: block; margin-bottom: 1rem; }
.allocation-calculator select { width: 100%; padding: .85rem; background: var(--ink-900); border: 1px solid var(--line-strong); border-radius: 0; }
.allocation-result { display: flex; align-items: center; gap: 1.5rem; padding: 1.5rem 0; }
.allocation-result output { font: 4.5rem/1 var(--font-display); color: var(--accent-text); }
.allocation-result span { font-size: .9375rem; color: var(--bone-400); }
.allocation-bar { height: 4px; background: var(--line-strong); margin-bottom: 1.5rem; }
.allocation-bar span { display: block; width: 100%; height: 100%; background: var(--accent-text); transition: width .25s; }
.allocation-calculator p { font-size: .875rem; }
.lifecycle-grid, .research-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.5rem; }
.lifecycle-grid article, .research-grid article { border-top: 1px solid var(--line-strong); padding-top: 1.5rem; }
.lifecycle-grid .feature-index, .research-grid .feature-index { font-size: .875rem; }
.lifecycle-grid h3, .research-grid h3 { font-size: 2.2rem; margin-bottom: 1rem; }
.lifecycle-grid p, .research-grid p { color: var(--bone-400); }
.hot-data { display: grid; grid-template-columns: 14rem 1fr; gap: 3rem; background: var(--ink-850); padding: 2rem; margin-top: 3rem; border: 1px solid var(--line); }
.hot-data p { color: var(--bone-400); }
.hot-data strong { color: var(--bone-100); font-weight: 500; }
.freedom-faq { border-block: 1px solid var(--line-strong); margin-top: 2rem; }
.freedom-faq summary { padding: 1.5rem 0; cursor: pointer; font-size: 1.125rem; }
.freedom-faq > div { padding: 0 0 1.5rem; max-width: 85ch; color: var(--bone-400); }
.freedom-faq p + p { margin-top: 1rem; }
.governance-section { background: var(--ink-850); }
.governance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; }
.governance-grid h2 { font-size: clamp(3rem,5vw,5rem); margin-top: 2rem; }
.governance-grid h2 em { color: var(--accent-text); }
.campaign-close { background: linear-gradient(120deg, #12333f, var(--ink-900)); }
.campaign-join { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; }
.campaign-join > div { border-top: 1px solid var(--line-strong); padding-top: 2rem; }
.campaign-join h3 { font-size: 2.5rem; margin: 1.5rem 0; }
.campaign-join p { color: var(--bone-400); max-width: 55ch; }
.campaign-join .btn { margin-top: 1.5rem; }
.campaign-join .join-note { font-size: .875rem; padding-top: 1rem; }
.freedom-home-cta { margin-top: 2rem; }
@media (max-width: 1100px) {
 .freedom-hero__grid { gap: 2rem; } .forever-pledge { padding-left: 2rem; }
 .tier { padding: 1.5rem; } .tier-price { font-size: 3.1rem; }
 .manifesto-grid, .governance-grid { gap: 3rem; } .infra-grid { gap: 2rem; }
 .allocation { gap: 2.5rem; }
}
@media (max-width: 900px) {
 .freedom-hero { padding-top: 7rem; } .campaign-kicker { align-items: start; flex-direction: column; gap: .8rem; margin-bottom: 2.5rem; }
 .freedom-hero__grid { grid-template-columns: 1fr; gap: 2.5rem; }
 .freedom-hero h1 { font-size: clamp(3.5rem,10vw,6rem); }
 .forever-pledge { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.5rem; border-left: 0; border-top: 1px solid var(--line-strong); padding: 2rem 0 0; }
 .forever-pledge > .label { grid-column: 1/-1; } .pledge-forever { grid-column: 2; grid-row: 2/4; align-self: center; }
 .pledge-foot, .forever-pledge .link { grid-column: 1/-1; }
 .pledge-price { font-size: 5rem; } .pledge-forever { font-size: 3rem; }
 .film-heading { flex-direction: column; gap: .7rem; } .film-caption { flex-direction: column; gap: .7rem; }
 .manifesto-grid, .infra-grid, .governance-grid, .allocation, .campaign-join { grid-template-columns: 1fr; gap: 2.5rem; }
 .manifesto-quote { font-size: 2.4rem; }
 .tier-grid { grid-template-columns: 1fr; gap: 1.5rem; }
 .tier h3 { min-height: 0; } .tier-price { font-size: 4rem; }
 .identity-grid, .lifecycle-grid, .research-grid { grid-template-columns: 1fr; gap: 2.5rem; }
 .architecture-line { grid-template-columns: 1fr; } .architecture-line span + span { border-left: 0; border-top: 1px solid var(--line); }
 .hot-data { grid-template-columns: 1fr; gap: 1rem; }
 .infra-proof { padding: 2rem; }
}
@media (max-width: 600px) {
 .freedom-page .section__head h2 { font-size: 2.6rem; }
 .freedom-page .label { font-size: .875rem; letter-spacing: .025em; }
 .freedom-hero h1 { font-size: clamp(3.35rem,12vw,4.6rem); }
 .hero-thesis { font-size: 1.6rem; } .hero-intro { font-size: 1rem; }
 .campaign-status { font-size: .875rem; }
 .freedom-hero__grid { padding-bottom: 2.5rem; }
 .forever-pledge { gap: 0 1rem; } .pledge-price { font-size: 4.7rem; } .pledge-forever { font-size: 2.5rem; }
 .pledge-spec { font-size: .875rem; }
 .freedom-index { gap: 1rem; font-size: .875rem; }
 .campaign-film { padding-block: 2rem 3.5rem; } .film-heading h2 { font-size: 1.4rem; }
 .manifesto-quote { font-size: 2.1rem; }
 .narrative .lede { font-size: 1.25rem; }
 .infra-proof h3 { font-size: 2.2rem; } .infra-proof { padding: 1.5rem; }
 .tier { padding: 1.5rem; } .tier .btn { font-size: .875rem; }
 .allocation { margin-top: 3rem; padding-top: 3rem; } .allocation-calculator { padding: 1.5rem; }
 .allocation h3 { font-size: 2rem; } .allocation-result { gap: 1rem; }
 .allocation-result output { font-size: 4rem; }
 .hot-data { padding: 1.5rem; }
 .campaign-join h3 { font-size: 2.2rem; }
 .freedom-page .footer__signature { font-size: 19vw; }
}
.freedom-page .pledge-forever { line-height: 1.02; }
.freedom-page .narrative-close { line-height: 1.2; }
.freedom-page .tier-price { line-height: 1; }
.pledge-storage-note { font-size: .875rem; color: var(--bone-400); margin-top: .6rem; }
@media (max-width: 900px) { .pledge-storage-note { grid-column: 1/-1; } }
