/* Download and licence: a Core schematic and a clear, single-price buy box. */
.dl-hero { overflow: hidden; }
.dl-hero-bg { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 25% 45%, var(--accent-soft), transparent 60%); }
.dl-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .9fr); gap: 1rem clamp(2rem, 5vw, 5rem); align-items: start; }
.dl-hero-head { grid-column: 1; margin-bottom: 0; }
.dl-hero-head h1 { font-size: clamp(2.8rem, 4.8vw, 5rem); line-height: .98; }
.dl-line { display: block; }
.dl-line + .dl-line { margin-top: .2em; }
.dl-hero-head .lead { font-size: 1.2rem; max-width: 34em; }
.dl-schematic { position: relative; grid-column: 1; aspect-ratio: 1.12; min-width: 0; }
.dl-core { position: absolute; width: 78%; left: 11%; top: 5%; }
.dl-floor { position: absolute; inset: 13% 5% 4%; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 35px 35px; mask-image: radial-gradient(ellipse, black, transparent 72%); transform: perspective(300px) rotateX(48deg); }
.dl-ticks { position: absolute; top: 9%; bottom: 13%; left: 1%; width: 7px; border-left: 1px solid var(--hair); background: repeating-linear-gradient(transparent 0 10px, var(--hair) 10px 11px); }
.dl-ticks-2 { left: auto; right: 1%; }
.dl-leads { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: var(--hair-strong); stroke-width: .22; }
.dl-leads circle { fill: var(--ember); stroke: none; }
.dl-call { position: absolute; width: 34%; display: grid; gap: .3rem; font-size: .85rem; line-height: 1.35; }
.dl-call .micro { font-size: .56rem; }
.dl-call > b { font-size: 1.1rem; color: var(--hot); }
.dl-call > span:last-child { color: var(--text-2); max-width: 18ch; }
.dl-call em { font-style: normal; }
.dl-call.c1 { left: 0; top: 3%; }
.dl-call.c2 { right: 0; top: 3%; text-align: right; justify-items: end; }
.dl-call.c3 { left: 0; bottom: 0; }
.dl-call.c4 { right: 0; bottom: 0; text-align: right; justify-items: end; }
.dl-core-status { position: absolute; inset: auto 0 5%; justify-content: center; font-size: .6rem; }
.dl-buybox { grid-column: 2; grid-row: 1 / 3; padding: clamp(1.3rem, 3vw, 2.5rem); margin-top: .2rem; }
.dl-buybox .price { gap: .6rem 1rem; flex-wrap: wrap; }
.dl-buybox .price-now { font-size: clamp(4rem, 6vw, 6rem); }
.dl-buybox .price-note { line-height: 1.6; }
.dl-gets { list-style: none; margin: 1.7rem 0; padding: 0; display: grid; gap: .9rem; }
.dl-gets li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: .8rem; }
.dl-gets svg { width: 24px; height: 24px; margin-top: .2rem; color: var(--ember); }
.dl-gets b { display: block; color: var(--hot); font-size: 1.1rem; }
.dl-gets .t { display: block; color: var(--text-2); font-size: 1rem; line-height: 1.45; }
.dl-actions { display: grid; gap: .7rem; }
.dl-actions .btn { white-space: normal; text-align: center; }
.dl-secure { display: flex; align-items: start; gap: .7rem; color: var(--text-2); font-size: .85rem; line-height: 1.5; margin-block: 1rem; }
.dl-secure svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--label); }
.dl-already { border-top: 1px solid var(--hair); padding-top: 1rem; margin-bottom: 0; font-size: .95rem; }
.dl-req { border-block: 1px solid var(--hair); background: var(--glass); }
.dl-needs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-left: 1px solid var(--hair); border-top: 1px solid var(--hair); }
.dl-need { padding: clamp(1.2rem, 2.5vw, 2rem); border-right: 1px solid var(--hair); border-bottom: 1px solid var(--hair); }
.dl-need h3 { font-size: 1.5rem; margin-top: 1rem; }
.dl-need p { color: var(--text-2); font-size: 1rem; margin-bottom: 0; }
.dl-led { display: inline-block; width: 5px; height: 5px; background: var(--dim); margin-right: .6rem; vertical-align: middle; }
.dl-led.on { background: var(--ember); box-shadow: 0 0 .6rem var(--accent-glow); }
.dl-rail-wrap { margin-top: 4rem; }
.dl-rail-head { display: flex; justify-content: space-between; gap: 2rem; align-items: end; }
.dl-rail-lead { color: var(--text-2); }
.dl-detect { font: .65rem var(--font-data); color: var(--label); }
.dl-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--hair-strong); }
.dl-tier { min-width: 0; padding: 1.4rem; background: var(--glass-solid); }
.dl-tier + .dl-tier { border-left: 1px solid var(--hair); }
.dl-tier-top { display: flex; justify-content: space-between; gap: .5rem; margin-bottom: 1.5rem; }
.dl-tier h3 { font-size: 1.5rem; }
.dl-meter { display: flex; gap: 3px; align-items: end; }
.dl-meter i { width: 5px; height: 13px; background: var(--deep); }
.dl-meter i:nth-child(2) { height: 17px; }.dl-meter i:nth-child(3) { height: 21px; }.dl-meter i:nth-child(4) { height: 25px; }
.dl-meter i.on { background: var(--ember); }
.dl-tier-hw { color: var(--hot); font-size: .95rem; min-height: 2.8em; }
.dl-tier dl { margin-bottom: 0; }
.dl-tier dl > div { padding-top: .9rem; margin-top: .9rem; border-top: 1px solid var(--hair); }
.dl-tier dt { font: .6rem var(--font-data); color: var(--label); text-transform: uppercase; letter-spacing: .06em; }
.dl-tier dd { margin: .5rem 0 0; color: var(--text-2); font-size: .95rem; line-height: 1.5; }
.dl-gpu-note { margin-top: 2rem; }
.dl-steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.dl-step { min-width: 0; display: flex; flex-direction: column; }
.dl-step-head { display: flex; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.dl-step-head h3 { margin: 0; font-size: 1.7rem; }
.dl-num { font: 1.3rem var(--font-data); color: var(--ember); }
.dl-step > p { font-size: 1rem; color: var(--text-2); }
.dl-mock { margin-top: auto; border: 1px solid var(--hair); background: var(--void); padding: 1rem; min-height: 145px; overflow: hidden; }
.dl-file-row { display: flex; align-items: center; gap: .8rem; }
.dl-file-row svg { width: 26px; flex-shrink: 0; color: var(--ember); }
.dl-file-row span { min-width: 0; }
.dl-file-row b, .dl-file-row small { display: block; overflow-wrap: anywhere; }
.dl-file-row b { font: .66rem var(--font-data); color: var(--hot); }
.dl-file-row small { color: var(--label); font-size: .75rem; margin-top: .35rem; }
.dl-bar { height: 3px; background: var(--deep); margin-top: 1rem; }
.dl-bar i { display: block; height: 100%; background: var(--ember); }
.dl-mock-meta { display: flex; justify-content: space-between; gap: .5rem; font: .55rem var(--font-data); color: var(--label); margin: 1rem 0 0; }
.dl-mock-meta:first-child { margin-top: 0; }
.dl-chips { display: flex; gap: .6rem; align-items: center; margin-block: 1.2rem; }
.dl-chip { display: inline-flex; padding: .6rem; border: 1px solid var(--hair-strong); color: var(--hot); font: .65rem var(--font-data); }
.dl-chip.hot { background: var(--accent-soft); border-color: var(--ember); }
.dl-arrow { color: var(--ember); }
.dl-wiz { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; list-style: none; }
.dl-wiz li { border: 1px solid var(--hair); padding: .4rem .5rem; font: .6rem var(--font-data); color: var(--text-2); }
.dl-wiz li:nth-child(3) { border-color: var(--ember); color: var(--hot); background: var(--accent-soft); }
.dl-after { list-style: none; padding: 0; margin-top: 2rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.dl-after li { border-top: 1px solid var(--hair); padding-top: 1.2rem; display: grid; gap: .5rem; }
.dl-after b { color: var(--hot); }.dl-after li > span:last-child { color: var(--text-2); font-size: 1rem; }
.dl-check { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); margin-top: 5rem; align-items: center; }
.dl-check-copy h3 { font-size: 2.3rem; }.dl-check-copy p { color: var(--text-2); }
.dl-file { min-width: 0; }
.dl-specs { margin: 0; }
.dl-specs > div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .8rem; padding-block: .7rem; border-bottom: 1px solid var(--hair); }
.dl-specs dt { color: var(--label); font: .65rem var(--font-data); padding-top: .3rem; }
.dl-specs dd { margin: 0; color: var(--hot); font-size: .95rem; overflow-wrap: anywhere; }
.dl-specs .mono { font-size: .7rem; }
.dl-hash { margin-top: 1.2rem; }.dl-hash-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.dl-hash-value { display: block; overflow-wrap: anywhere; margin: .7rem 0 1rem; font-size: .7rem; color: var(--text-2); }
.dl-cmd pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .65rem; }
.dl-cmd .code-head { flex-wrap: wrap; gap: .5rem; }
.dl-copy-mini { border: 0; min-height: 44px; color: var(--hot); background: none; font: .65rem var(--font-data); cursor: pointer; }
.dl-file-note { font-size: .85rem; color: var(--text-2); margin-bottom: 0; }
.dl-copied { color: var(--hot); display: block; margin-top: .5rem; }
.dl-file button:disabled { opacity: .55; cursor: default; }
.dl-trial { border-block: 1px solid var(--hair); background: var(--glass); }
.dl-track { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)) auto; gap: 5px; align-items: center; }
.dl-track > i { height: 16px; background: var(--ember); box-shadow: 0 0 1rem var(--accent-soft); }
.dl-track > i:nth-last-of-type(-n+3) { background: var(--warn); }
.dl-track-key { border: 1px solid var(--ember); padding: .7rem 1rem; margin-left: .7rem; color: var(--hot); font: .65rem var(--font-data); }
.dl-track-scale { display: flex; justify-content: space-between; font: .65rem var(--font-data); color: var(--label); margin: .8rem 0 2rem; }
.dl-events { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; }
.dl-events li { display: grid; gap: .6rem; align-content: start; }
.dl-events li > b { color: var(--hot); font-size: 1.2rem; }.dl-events li > span:last-child { color: var(--text-2); font-size: 1rem; }
.dl-chip-demo { display: inline-block; border: 1px solid var(--hair); color: var(--warn); padding: .3rem .5rem; margin-top: .4rem; font-size: .8rem; }
.dl-how { list-style: none; counter-reset: activate; padding: 0; display: grid; gap: 1.4rem; }
.dl-how li { counter-increment: activate; position: relative; padding-left: 2.5rem; }
.dl-how li::before { content: '0' counter(activate); position: absolute; left: 0; top: .2rem; font: .8rem var(--font-data); color: var(--ember); }
.dl-how b { display: block; color: var(--hot); }.dl-how li > span { display: block; color: var(--text-2); font-size: 1rem; }
.dl-studio-wrap { min-width: 0; }
.dl-studio { position: relative; border: 1px solid var(--hair-strong); background: var(--glass-solid); box-shadow: 0 0 4rem var(--accent-soft); padding: 1rem; overflow: hidden; }
.dl-studio-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; border-bottom: 1px solid var(--hair); padding-bottom: .8rem; }
.dl-studio-name { font-size: 1.3rem; font-weight: 700; color: var(--hot); }
.dl-studio-tabs { display: flex; flex-wrap: wrap; gap: .65rem; }.dl-studio-tabs i { color: var(--text-2); font-style: normal; font-size: .75rem; }.dl-studio-tabs .on { color: var(--hot); border-bottom: 1px solid var(--ember); }
.dl-scard { padding: 1rem; border: 1px solid var(--hair); margin-top: 1rem; }
.dl-scard-title { color: var(--hot); font-size: 1.2rem; font-weight: 700; margin-bottom: .6rem; }.dl-scard-lead { color: var(--warn); font-size: .9rem; }
.dl-scard-label { color: var(--label); font: .55rem var(--font-data); text-transform: uppercase; letter-spacing: .1em; }
.dl-scard-row { display: flex; flex-wrap: wrap; gap: .5rem; }
.dl-input { border: 1px solid var(--hair); padding: .7rem; color: var(--text-2); font: .6rem var(--font-data); overflow-wrap: anywhere; flex: 1 1 150px; }
.dl-sbtn { background: var(--accent-soft); border: 1px solid var(--ember); padding: .7rem; color: var(--hot); font-size: .75rem; }
.dl-scard-hint { color: var(--text-2); font-size: .85rem; margin: .8rem 0 0; }.dl-scard-note:empty { display: none; }
.dl-toast { position: absolute; bottom: 1rem; left: 1rem; right: 1rem; background: var(--glass-solid); border: 1px solid var(--ember); padding: .8rem; color: var(--hot); font-size: .85rem; opacity: 0; pointer-events: none; }
.dl-studio-cap { color: var(--label); font: .6rem/1.6 var(--font-data); margin-top: 1rem; }
.dl-faq { background: var(--glass); border-block: 1px solid var(--hair); }
.dl-faq-grid { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1fr); gap: 5rem; }
.dl-faq .section-head { position: sticky; top: calc(var(--header-h) + 2rem); align-self: start; }
.dl-faq-more { margin-top: 2rem; }
.dl-final { position: relative; overflow: hidden; padding-block: clamp(6rem, 12vw, 10rem); }
.dl-final h2 { font-size: clamp(3.5rem, 7vw, 7rem); }.dl-final .lead { max-width: 34em; margin: 1.2rem auto 2rem; }
.dl-final-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; }.dl-final-meta { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: center; margin-top: 1.5rem; }
.dl-final-ring { position: absolute; inset: 0; pointer-events: none; opacity: .3; }
.dl-final-ring i { position: absolute; width: 700px; height: 700px; border: 1px solid var(--hair); border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); }.dl-final-ring i:nth-child(2) { width: 850px; height: 850px; border-style: dashed; }.dl-final-ring i:nth-child(3) { width: 1050px; height: 1050px; }
@media (max-width: 1099px) {
  .dl-hero-grid { gap: 2rem; }.dl-hero-head h1 { font-size: clamp(2.7rem, 5vw, 4rem); }
  .dl-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }.dl-tier:nth-child(3) { border-left: 0; }.dl-tier:nth-child(n+3) { border-top: 1px solid var(--hair); }
  .dl-steps { gap: 1rem; }.dl-step { padding: 1.1rem; }.dl-mock { padding: .8rem; }
  .dl-faq-grid { gap: 2.5rem; }
}
@media (max-width: 799px) {
  .dl-hero-grid { grid-template-columns: 1fr; }.dl-hero-head { grid-column: 1; }.dl-schematic { grid-column: 1; width: min(100%, 580px); justify-self: center; }.dl-buybox { grid-column: 1; grid-row: auto; margin-top: 1rem; }
  .dl-needs { grid-template-columns: repeat(2, minmax(0, 1fr)); }.dl-steps { grid-template-columns: 1fr; }.dl-mock { min-height: auto; margin-top: 1rem; }.dl-step { padding: 1.5rem; }
  .dl-after { grid-template-columns: 1fr; gap: 1.2rem; }.dl-check { grid-template-columns: 1fr; gap: 2rem; margin-top: 3.5rem; }
  .dl-events { grid-template-columns: repeat(2, minmax(0, 1fr)); }.dl-faq-grid { grid-template-columns: 1fr; gap: 0; }.dl-faq .section-head { position: static; }
}
@media (max-width: 479px) {
  .dl-hero-head h1 { font-size: 2.8rem; }.dl-hero-head .lead { font-size: 1.1rem; }
  .dl-schematic { aspect-ratio: .98; margin-top: 1rem; }.dl-core { top: 7%; width: 88%; left: 6%; }.dl-call { width: 41%; font-size: .7rem; }.dl-call > b { font-size: .95rem; }.dl-call .micro { font-size: .48rem; }.dl-core-status { bottom: 5%; font-size: .5rem; }
  .dl-buybox { padding: 1.2rem; }.dl-buybox .card-label { gap: .5rem; flex-wrap: wrap; }.dl-buybox .price-now { font-size: 4.5rem; }
  .dl-needs { grid-template-columns: 1fr; }.dl-rail { grid-template-columns: 1fr; }.dl-tier + .dl-tier { border-left: 0; border-top: 1px solid var(--hair); }.dl-tier-hw { min-height: 0; }
  .dl-rail-head { display: block; }.dl-events { grid-template-columns: 1fr; }.dl-track { gap: 3px; }.dl-track-key { margin-left: .3rem; padding: .5rem; }
  .dl-specs > div { grid-template-columns: 4.5rem minmax(0, 1fr); }.dl-final-cta .btn { width: 100%; }.dl-faq .accordion > summary { align-items: start; }.dl-faq .q-index { padding-top: .25rem; }
}
