/* Download and contribution surfaces stay visible at every width. */
[data-app="puck"] #landing .puck-download,
[data-app="puck"] #landing .puck-support { color: var(--puck-ink); padding-block: clamp(3.5rem, 7vw, 6.5rem); scroll-margin-top: 9rem; }
.puck-download { background: var(--puck-controls-bg); }
.puck-download__inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3rem; }
[data-app="puck"] #landing .puck-download h2 { color: var(--puck-controls-ink); font-family: var(--font-display); font-weight: 300; font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1.08; margin: 1rem 0; }
.puck-download p { max-width: 47ch; color: var(--puck-controls-muted); font-size: 1.15rem; line-height: 1.5; }
.puck-download .puck-eyebrow { color: var(--puck-controls-muted); }
.puck-download__action { display: flex; flex-direction: column; align-items: flex-start; gap: .9rem; }
.puck-download__action p { font-family: var(--font-mono); font-size: .72rem; margin: 0; }
.puck-download__action a { color: var(--puck-controls-accent); font-family: var(--font-mono); font-size: .75rem; text-underline-offset: .3em; }
.puck-download__action .btn { background: var(--puck-controls-accent); color: var(--puck-controls-bg); border-color: var(--puck-controls-accent); gap: .65rem; }
.puck-download__action .btn:disabled { cursor: default; opacity: .65; }
.puck-support { background: var(--puck-cta-bg); }
.puck-support__head { display: grid; grid-template-columns: 1.35fr 1fr; align-items: end; gap: 4rem; margin-bottom: 3.5rem; }
[data-app="puck"] #landing .puck-support h2 { font-family: var(--font-display); font-weight: 300; font-size: clamp(2.25rem, 4.3vw, 3.8rem); line-height: 1.1; letter-spacing: -.025em; margin: 1rem 0 0; }
.puck-support__head > p { font-size: 1.2rem; line-height: 1.55; color: var(--puck-muted); margin: 0; max-width: 38ch; }
.puck-support__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--puck-line); border-bottom: 1px solid var(--puck-line); }
.puck-support__item { padding: 2rem 2rem 2.25rem; display: flex; flex-direction: column; align-items: flex-start; }
.puck-support__item:first-child { padding-left: 0; }
.puck-support__item:last-child { padding-right: 0; }
.puck-support__item + .puck-support__item { border-left: 1px solid var(--puck-line); }
.puck-support__marker { display: flex; align-items: center; gap: .8rem; color: var(--puck-blue); font-family: var(--font-mono); font-size: .7rem; }
.puck-support__marker .icon { width: 25px; height: 25px; }
[data-app="puck"] #landing .puck-support h3 { font-family: var(--font-display); font-weight: 300; font-size: 2rem; line-height: 1.15; margin: 1.4rem 0 1rem; }
.puck-support__item p { color: var(--puck-muted); font-size: 1.05rem; line-height: 1.55; margin: 0 0 1rem; }
.puck-support__item .puck-support__hint { font-size: .92rem; color: var(--puck-quiet); margin-bottom: 1.8rem; }
.puck-support__links { margin-top: auto; display: flex; flex-wrap: wrap; gap: .35rem 1.25rem; }
.puck-support__link { margin-top: auto; display: inline-flex; gap: .7rem; align-items: center; color: var(--puck-blue); font-family: var(--font-mono); font-size: .78rem; padding: .5rem 0; border: 0; border-bottom: 1px solid currentColor; background: none; text-decoration: none; line-height: 1.5; }
.puck-support__links .puck-support__link { margin-top: 0; }
.puck-support__link .icon { width: 16px; height: 16px; }
.puck-support__link:disabled { opacity: .65; cursor: default; }
.puck-support__foot { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.5rem; color: var(--puck-quiet); font-family: var(--font-mono); font-size: .72rem; }
.puck-support__foot a { color: var(--puck-blue); text-underline-offset: .3em; }
@media (max-width: 760px) {
 .puck-download__inner, .puck-support__head { grid-template-columns: 1fr; gap: 1.7rem; }
 .puck-support__head { margin-bottom: 2rem; }
 .puck-support__grid { grid-template-columns: 1fr; }
 .puck-support__item, .puck-support__item:first-child, .puck-support__item:last-child { padding: 1.75rem 0; }
 .puck-support__item + .puck-support__item { border-left: 0; border-top: 1px solid var(--puck-line); }
 .puck-support__item .puck-support__hint { margin-bottom: 1rem; }
 .puck-support__foot { flex-wrap: wrap; }
}
.puck-support__head > p,
.puck-support__item p,
.puck-download__inner > div:first-child > p { font-family: var(--font-display); }
.puck-support__item { position: relative; }


[data-app="puck"] #landing .puck-download .puck-download__requirements {
    margin-top:1.5rem;
    max-width:54ch;
    font: .95rem/1.6 var(--font-display);
    color:var(--puck-controls-muted);
}
.puck-download__notices {
    display:inline-block;
    margin-top:.8rem;
    color:var(--puck-controls-accent);
    font: .8rem/1.5 var(--font-mono);
    text-underline-offset:.25em;
}

.puck-support__item p { margin-bottom:1.75rem; }
[data-project-link][aria-disabled="true"] { cursor:default; }
[data-app="puck"] #landing .faq__item summary { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; min-height:44px; }
.puck-faq-indicator { position:relative; flex:0 0 16px; width:16px; height:16px; color:var(--puck-muted); }
.puck-faq-indicator::before, .puck-faq-indicator::after { content:""; position:absolute; background:currentColor; }
.puck-faq-indicator::before { width:14px; height:1.5px; top:7px; left:1px; }
.puck-faq-indicator::after { width:1.5px; height:14px; left:7px; top:1px; }
.faq__item[open] .puck-faq-indicator::after { display:none; }
.faq__item summary:focus-visible { outline:2px solid var(--puck-blue); outline-offset:5px; }

/* Keep the final action bright against its permanently dark surface. */
[data-app="puck"] #landing .puck-download__action .btn--signal {
    background:var(--puck-controls-accent);
    border-color:var(--puck-controls-accent);
    color:var(--puck-controls-bg);
}
[data-app="puck"] #landing .puck-download__action .btn--signal[href]:hover {
    background:var(--puck-controls-ink);
    border-color:var(--puck-controls-ink);
}
