@import './home.css';

.masthead[data-hidden='true'] { transform: none; }
.drawer { overflow-y: auto; }
.drawer__list a[aria-current='page'] { color: var(--accent-text); }
@media (prefers-reduced-motion: reduce) {
  .drawer, .drawer__list li { transition: none !important; }
}
.manifesto-summary { border-block: 1px solid var(--line-strong); background: radial-gradient(ellipse at 10% 0, var(--accent-soft), transparent 65%), var(--ink-850); }
.manifesto-summary__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.manifesto-summary h2 { font-size: clamp(2.75rem, 4.5vw, 5rem); margin-block: 1.5rem 2rem; }
.manifesto-summary__text { max-width: 56ch; }
.manifesto-summary__text > p + p { margin-block: 1.5rem; color: var(--bone-400); }
@media (max-width: 760px) {
  .manifesto-summary__grid { grid-template-columns: 1fr; }
}
.fed-partner-signature { margin-top: 1.5rem; max-width: 52ch; font: .8125rem/1.7 var(--font-sans); color: var(--accent-text); }
.fed-partner-signature a { text-underline-offset: .25em; }
.fed-partner-signature a:hover { text-decoration: underline; }
.fed-partner-signature--footer { margin-block: 1.5rem; }
.fed-partnership { border-bottom: 1px solid var(--line-strong); background: radial-gradient(ellipse at 90% 15%, var(--accent-soft), transparent 65%), var(--ink-900); }
.fed-partnership .section__head h2 { font-size: clamp(2.8rem, 4.9vw, 5rem); line-height: 1.08; overflow-wrap: anywhere; }
.fed-partnership .lede { margin-top: 1.5rem; }
.fed-partnership-status { font-size: .7rem; line-height: 1.8; color: var(--accent-text); margin-bottom: 1.5rem; letter-spacing: .05em; }
.fed-partnership > .shell > .fed-note { max-width: 95ch; }
.fed-panel-entry { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; margin-top: 2rem; }
.fed-panel-entry .btn { max-width: 100%; text-align: center; }
.fed-panel-entry .fed-note { flex-basis: 100%; max-width: 80ch; margin-top: 0; }
.fed-access { background: linear-gradient(150deg, var(--accent-soft), transparent 70%), var(--ink-850); }
.fed-access .fed-capabilities { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fed-access .fed-capabilities article { padding: 2rem; border-left: 1px solid var(--line); }
.fed-access .fed-capabilities article:first-child { padding-left: 0; border-left: 0; }
.fed-access .fed-capabilities article:last-child { padding-right: 0; }
.fed-commitment { border-block: 1px solid var(--line-strong); background: linear-gradient(125deg, var(--accent-soft), transparent 75%), var(--ink-850); }
.fed-commitment .section__head h2 { font-size: clamp(2.8rem, 4.9vw, 5rem); line-height: 1.08; }
.fed-commitment .lede { margin-top: 1.5rem; }
.fed-commitment-details { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line-strong); }
.fed-commitment-details article { padding: 2rem 2.5rem 0 0; }
.fed-commitment-details article + article { border-left: 1px solid var(--line-strong); padding-left: 2.5rem; }
.fed-commitment-details h3 { font-size: 2rem; line-height: 1.2; margin: 1rem 0; }
.fed-commitment-details article > p:last-child { color: var(--bone-400); line-height: 1.8; max-width: 55ch; }
.fed-commitment > .shell > .fed-note { border-top: 1px solid var(--line); padding-top: 1.5rem; margin-top: 2rem; }
@media (max-width: 1100px) {
  .masthead .nav { display: none; }
  .masthead .menu-toggle { display: inline-flex; }
}
@media (min-width: 1101px) {
  .masthead .nav { display: flex; }
  .masthead .menu-toggle, .drawer { display: none; }
}
@media (max-width: 700px) {
  .fed-access .fed-capabilities { grid-template-columns: 1fr; }
  .fed-access .fed-capabilities article, .fed-access .fed-capabilities article:first-child { padding: 2rem 0; border-left: 0; }
  .fed-commitment-details { grid-template-columns: 1fr; }
  .fed-commitment-details article { padding: 1.5rem 0; }
  .fed-commitment-details article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .fed-commitment .section__head h2 { font-size: clamp(2.5rem, 9vw, 4rem); }
}
.federation-summary { border-block: 1px solid var(--line); background: var(--ink-850); }
.fed-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; margin-top: 2rem; align-items: start; }
.fed-summary-grid h2 { font-size: clamp(2.6rem, 4.5vw, 4.8rem); line-height: 1.06; }
.fed-summary-grid .btn { margin-top: 1.5rem; }
.fed-note { font: .875rem/1.7 var(--font-sans); color: var(--bone-400); margin-top: 1.5rem; }
.fed-page { background: radial-gradient(ellipse at 85% 8%, var(--accent-soft), transparent 40%), var(--ink-900); }
.fed-hero { padding-top: clamp(9rem, 15vw, 13rem); padding-bottom: 2rem; }
.fed-hero-grid { display: grid; grid-template-columns: 1.45fr .65fr; gap: clamp(2rem, 6vw, 7rem); align-items: center; margin-top: 2rem; }
.fed-hero h1 { font-size: clamp(3.4rem, 6.3vw, 6.5rem); line-height: 1.03; letter-spacing: -.045em; }
.fed-hero .lede { max-width: 51ch; margin-top: 2rem; }
.fed-hero .hero__actions { margin-top: 2.5rem; flex-wrap: wrap; }
.fed-diagram { border: 1px solid var(--line-strong); padding: clamp(1.25rem, 3vw, 2.5rem); background: linear-gradient(145deg, var(--accent-soft), transparent 70%); position: relative; }
.fed-diagram > .mono { font-size: .75rem; color: var(--accent-text); }
.fed-diagram ol { list-style: none; margin: 2rem 0; padding: 0; }
.fed-diagram li { border-top: 1px solid var(--line-strong); padding: 1.25rem 0; display: flex; gap: 1.25rem; font-size: .875rem; letter-spacing: .06em; }
.fed-diagram li span { color: var(--accent-text); }
.fed-diagram figcaption { color: var(--bone-400); font-size: .875rem; line-height: 1.7; }
.fed-caption { border-top: 1px solid var(--line); margin-top: 5rem; padding-top: 1.5rem; font-size: .7rem; letter-spacing: .08em; color: var(--bone-400); }
.fed-section { border-bottom: 1px solid var(--line); }
.fed-page .section__head h2 { font-size: clamp(2.8rem, 4.9vw, 5rem); line-height: 1.08; }
.fed-page .section__head .lede { margin-top: 1.5rem; }
.fed-membership { display: grid; grid-template-columns: 1fr 1fr; margin-top: 3rem; border: 1px solid var(--line-strong); }
.fed-membership article { padding: clamp(1.5rem, 4vw, 3.5rem); }
.fed-membership article + article { border-left: 1px solid var(--line-strong); background: var(--accent-soft); }
.fed-membership h3 { font-size: clamp(2rem, 3.3vw, 3.2rem); line-height: 1.15; margin: 2rem 0 1.5rem; }
.fed-membership p:not(.label):not(.fed-price) { line-height: 1.8; }
.fed-membership .link { display: inline-block; margin-top: 1.5rem; }
.fed-price { font-size: 7rem; line-height: 1; margin-top: 2rem; }
.fed-price > span { font: 1.4rem var(--font-mono); margin-right: .5rem; }
.fed-price small { display: block; margin-top: .75rem; font: .875rem var(--font-sans); color: var(--bone-400); }
.fed-free { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; padding: 2.5rem 0 0; }
.fed-free h3 { font-size: 2rem; margin-bottom: 1rem; }
.fed-free p { color: var(--bone-400); line-height: 1.8; }
.fed-capabilities { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.fed-capabilities article { padding: 2.5rem 2.5rem 2.5rem 0; border-bottom: 1px solid var(--line); }
.fed-capabilities article:nth-child(even) { padding-left: 2.5rem; border-left: 1px solid var(--line); }
.fed-capabilities h3 { font-size: 2rem; margin: 1.5rem 0 1rem; }
.fed-capabilities p { color: var(--bone-400); line-height: 1.8; max-width: 48ch; }
.fed-router { background: linear-gradient(135deg, var(--ink-850), var(--ink-900)); }
.fed-router-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; border-top: 1px solid var(--line-strong); padding-top: 3rem; }
.fed-token strong { display: block; font-size: clamp(7rem, 15vw, 13rem); line-height: 1; font-weight: 400; color: var(--accent-text); margin-top: 1.5rem; }
.fed-token > p.display { font-size: 2rem; }
.fed-models ul { list-style: none; padding: 0; margin-top: 1.5rem; }
.fed-models li { display: flex; gap: 2rem; padding: 1.4rem 0; border-bottom: 1px solid var(--line); font-size: clamp(1.4rem, 2.6vw, 2.25rem); }
.fed-models li span { color: var(--accent-text); font-size: .75rem; padding-top: .5rem; }
.fed-bench { margin-top: 3rem; border-left: 2px solid var(--accent-text); padding: .5rem 0 .5rem 2rem; max-width: 80ch; }
.fed-bench h3 { font-size: 2rem; margin: 1rem 0; }
.fed-bench > p:last-child { color: var(--bone-400); line-height: 1.8; }
.fed-crypto { background: radial-gradient(ellipse at 12% 20%, var(--accent-soft), transparent 65%), var(--ink-1000); }
.fed-crypto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.fed-crypto h2 { font-size: clamp(3rem, 5vw, 5rem); line-height: 1.1; margin-top: 2rem; }
.fed-status { display: inline-flex; align-items: center; gap: .6rem; font: .7rem var(--font-mono); color: var(--accent-text); padding: .6rem .85rem; border: 1px solid var(--line-strong); margin-top: 1.5rem; }
.fed-status span { width: .4rem; height: .4rem; border-radius: 50%; background: var(--accent-text); }
.fed-crypto-grid > div > p + p { margin-top: 1.5rem; color: var(--bone-400); }
.fed-crypto .btn { margin-top: 2rem; }
.fed-risk { border-top: 1px solid var(--line-strong); padding-top: 1.25rem; }
.fed-faq { max-width: 960px; margin-left: auto; }
.fed-faq details { border-top: 1px solid var(--line); padding: 1.5rem 0; }
.fed-faq summary { cursor: pointer; font-size: 1.125rem; line-height: 1.5; }
.fed-faq details p { color: var(--bone-400); line-height: 1.8; margin-top: 1rem; max-width: 70ch; }
.fed-page .contact-grid h2 { font-size: clamp(2.8rem, 4.5vw, 4.5rem); line-height: 1.1; }
.fed-page .contact-grid .btn { margin-top: 2rem; }

@media (max-width: 1000px) {
  .fed-hero-grid { grid-template-columns: 1.2fr .8fr; gap: 2rem; }
  .fed-hero h1 { font-size: clamp(3rem, 6vw, 5rem); }
  .fed-crypto-grid { gap: 2.5rem; }
}
@media (max-width: 700px) {
  .fed-summary-grid, .fed-hero-grid, .fed-membership, .fed-free, .fed-capabilities, .fed-router-grid, .fed-crypto-grid { grid-template-columns: 1fr; gap: 2rem; }
  .fed-hero h1 { font-size: clamp(3rem, 10.8vw, 4.5rem); }
  .fed-hero { padding-top: 8rem; }
  .fed-caption { margin-top: 3rem; line-height: 1.8; }
  .fed-membership { gap: 0; }
  .fed-membership article + article { border-left: 0; border-top: 1px solid var(--line-strong); }
  .fed-capabilities { gap: 0; }
  .fed-capabilities article, .fed-capabilities article:nth-child(even) { padding: 2rem 0; border-left: 0; }
  .fed-models { margin-top: 1rem; }
  .fed-page .section__head h2 { font-size: clamp(2.7rem, 9vw, 4rem); }
  .fed-bench { padding-left: 1.25rem; }
  .fed-page .contact-grid { gap: 2rem; }
}
