/* Continuum framework page. Builds on site.css. Force colours match the original diagram (Artist #64D2FF, Music #0A84FF, Market #FF9F0A). */
.deep { background: var(--deep); }
.c-hero { padding: clamp(56px, 8vw, 96px) 0 clamp(48px, 6vw, 80px); }
.c-hero h1 { font-size: clamp(2.8rem, 7vw, 5.4rem); }
.c-hero .lede { max-width: 720px; margin: 0 auto 2.4rem; }
.diagram-wrap { max-width: 1240px; }
.diagram { aspect-ratio: 1460 / 1080; background: #000; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; box-shadow: 0 30px 80px rgba(0, 0, 0, .6); }
.diagram iframe { width: 100%; height: 100%; border: 0; display: block; }
.diagram-note { text-align: center; font-size: .85rem; margin-top: .8rem; }
.c-lead { font: 400 clamp(1.15rem, 2vw, 1.35rem)/1.6 var(--serif); color: var(--cream); }
.pull.center { text-align: center; margin: 2rem auto 0; max-width: 720px; }
.pull.big { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-top: 3rem; }

.force-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 2.6rem; }
.force { background: #151514; border: 1px solid var(--line); border-top: 3px solid var(--accent); padding: 28px 26px; display: flex; flex-direction: column; }
.force-tag { font: 600 .7rem/1.3 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--accent); }
.force h3 { font-size: 2.3rem; margin-bottom: 1rem; }
.force dl { margin: 0 0 1.2rem; }
.force dt { font: 600 .74rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-top: 1rem; }
.force dd { margin: .35rem 0 0; color: #D8CCB8; font-size: .97rem; }
.force-line { margin-top: auto; font: italic 400 1.1rem/1.4 var(--serif); color: var(--gold-light); border-top: 1px solid var(--line); padding-top: 1rem; }

.ix-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 2.6rem; }
.ix { border: 1px solid var(--line); padding: 26px; background: linear-gradient(180deg, #171615, #121212); }
.ix h3 { font-size: 1.9rem; }
.ix-what { color: var(--muted); font-size: .95rem; }
.ix-q { font: italic 400 1.2rem/1.35 var(--serif); color: var(--gold-light); }
.ix p { font-size: .95rem; color: #D8CCB8; }
.ok, .weak { font-weight: 600; letter-spacing: .04em; }
.ok { color: #7FD3A8; } .weak { color: #E59A86; }
.together { max-width: 860px; margin: 2.4rem auto 0; text-align: center; color: #D8CCB8; }
.together strong { color: var(--cream); }

.int-grid, .dx-grid { display: grid; gap: 20px; margin-top: 2.4rem; }
.int-grid { grid-template-columns: repeat(3, 1fr); }
.dx-grid { grid-template-columns: repeat(4, 1fr); }
.int, .dx { border: 1px solid var(--line); padding: 22px; background: #151514; }
.int h3, .dx h3 { font-size: 1.7rem; color: var(--gold-light); }
.int p, .dx p { font-size: .95rem; color: #D8CCB8; margin: .5rem 0 0; }

.loops { list-style: none; counter-reset: loop; padding: 0; margin: 2.4rem 0 0; }
.loops li { counter-increment: loop; position: relative; padding: 18px 0 18px 64px; border-bottom: 1px solid var(--line); }
.loops li::before { content: counter(loop); position: absolute; left: 0; top: 14px; width: 44px; height: 44px; display: grid; place-items: center; font: 400 1.6rem/1 var(--display); color: var(--gold-light); border: 1px solid var(--gold); transform: rotate(45deg); }
.loops li::before { transform: none; border-radius: 50%; }
.loops h3 { font-size: 1.6rem; }
.loops p { margin: .3rem 0 0; color: #D8CCB8; }

.map { list-style: none; padding: 0; margin: 2rem 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; text-align: left; }
.map li { border: 1px solid var(--line); border-left: 3px solid var(--accent); padding: 12px 14px; background: #151514; }
.map b { display: block; font: 600 .72rem/1.3 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--accent); }
.map span { font-size: .92rem; color: var(--cream); }
.c-close { color: #D8CCB8; margin: 1.6rem auto 1.8rem; max-width: 720px; }

.magnet { background: radial-gradient(ellipse at 30% 40%, rgba(204, 148, 60, .1), transparent 60%), var(--deep); }
.pdf-cover { aspect-ratio: 3 / 4; max-width: 360px; width: 100%; margin: 0 auto; padding: 40px 32px; background: linear-gradient(160deg, #1D1B18, #0E0E0D); border: 1px solid rgba(204, 148, 60, .5); box-shadow: 0 30px 70px rgba(0, 0, 0, .6); display: flex; flex-direction: column; justify-content: flex-end; transform: rotate(-2deg); }
.pdf-title { font: 400 2.6rem/1 var(--display); color: var(--cream); }
.pdf-sub { font: italic 400 1.1rem var(--serif); color: var(--gold-light); }
.pdf-by { font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0; }
.lead { display: grid; gap: 14px; margin-top: 1.4rem; }
.lead .row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lead label { display: grid; gap: 6px; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.lead input[type=text], .lead input[type=email], .lead select { padding: 14px 14px; font: 400 1rem var(--sans); color: var(--cream); background: #1B1A18; border: 1px solid rgba(228, 212, 188, .25); border-radius: 2px; text-transform: none; letter-spacing: 0; }
.lead input:focus, .lead select:focus { outline: 2px solid var(--gold); outline-offset: 1px; }
.lead .consent { display: flex; gap: 10px; align-items: flex-start; text-transform: none; letter-spacing: 0; font-size: .9rem; color: #D8CCB8; }
.lead .consent input { margin-top: 4px; accent-color: var(--gold); }
.lead .btn { justify-self: start; }
.lead .fine { font-size: .8rem; color: var(--muted); margin: 0; }
.lead .note { color: var(--gold-light); margin: 0; min-height: 1.4em; }

@media (max-width: 960px) {
  .force-grid, .ix-grid, .int-grid { grid-template-columns: 1fr; }
  .dx-grid, .map { grid-template-columns: 1fr 1fr; }
  .pdf-cover { max-width: 280px; }
}
@media (max-width: 640px) {
  .dx-grid, .map { grid-template-columns: 1fr; }
  .lead .row { grid-template-columns: 1fr; }
  .lead .btn { justify-self: stretch; }
  .diagram { aspect-ratio: 1460 / 1080; }
}
