/* Shared header and section rhythm for Puck's editorial sections. */
[data-app="puck"] #landing .puck-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    align-items: end;
    gap: 3rem;
    margin-bottom: 2.5rem;
}
[data-app="puck"] #landing .puck-section-head > div { min-width: 0; }
[data-app="puck"] #landing :is(.puck-section-head, .puck-section-heading) h2 {
    max-width: none;
    margin: .75rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 4.5vw, 4.4rem);
    font-weight: 300;
    line-height: 1.08;
    letter-spacing: -.035em;
    text-wrap: balance;
}
[data-app="puck"] #landing .puck-section-head > p {
    justify-self: start;
    max-width: 36ch;
    margin: 0 0 .2rem;
    color: var(--puck-muted);
    font: clamp(1.1rem, 1.5vw, 1.2rem)/1.5 var(--font-display);
}
[data-app="puck"] #landing :is(.puck-section-head, .puck-section-heading) .puck-eyebrow {
    font-size: .68rem;
    line-height: 1.6;
}
[data-app="puck"] #landing .puck-section-head--solo { display: block; }
[data-app="puck"] #landing .section--faq .section__title { max-width: 19ch; }
[data-app="puck"] #landing :is(.section--compatibility, .section--faq) {
    padding-inline: max(1.5rem, calc((100% - 1200px) / 2));
}
[data-app="puck"] #landing .puck-map__intro { margin-top: 0; }
.puck-section-meta {
    padding: 0 0 1rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--puck-line);
    color: var(--puck-quiet);
    font: .68rem/1.6 var(--font-mono);
    letter-spacing: .06em;
}
[data-app="puck"] #landing .puck-section-heading > p {
    margin: 1.5rem 0 0;
    font: clamp(1.1rem, 1.5vw, 1.2rem)/1.5 var(--font-display);
}
@media (max-width: 900px) {
    [data-app="puck"] #landing .puck-section-head {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.5rem;
        margin-bottom: 2rem;
    }
    [data-app="puck"] #landing .puck-section-head > p {
        margin: 0;
        max-width: 38ch;
        font-size: 1.1rem;
    }
    [data-app="puck"] #landing .puck-section-heading > p { font-size: 1.1rem; }
}
@media (max-width: 760px) {
    [data-app="puck"] #landing :is(.section--compatibility, .section--faq) { padding-inline: 1rem; }
}

/* Keep one gap at each edge; editorial header padding previously doubled it. */
[data-app="puck"] #landing { --puck-section-gap:clamp(4rem,6vw,6rem); }
[data-app="puck"] #landing > :is(.puck-try,.puck-ownership,.puck-map-section,.puck-icon-story,.section--faq,.puck-download,.puck-support) { padding-block:var(--puck-section-gap); }
[data-app="puck"] #landing .puck-play__inner { padding-block:var(--puck-section-gap); }
[data-app="puck"] #landing .puck-editorial-head { padding-top:0;border-top:0; }
@media(max-width:950px) {
 [data-app="puck"] #landing .puck-play__header { grid-template-columns:1fr;gap:1.5rem; }
}

/* The controls section has its own dark surface, including in the light theme. */
[data-app="puck"] #landing .puck-play .puck-section-head > p { color:var(--puck-controls-ink); }
