.page { width: min(76rem, calc(100% - 3rem)); display: block; padding: 2.5rem 0 1.5rem; }
.page > main { grid-template-columns: minmax(18rem, .85fr) minmax(25rem, 1.15fr); }
.brand { min-height: 25rem; }
.content { padding: 2.5rem 3rem; }
h1 { max-width: 34rem; font-size: clamp(2.25rem, 3.7vw, 3.25rem); }
.showcase { padding-top: 3.25rem; }
.showcase-intro { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: 1.5rem; }
.showcase-intro h2 { margin: 0; max-width: 34rem; color: #102b25; font-size: clamp(1.6rem, 2.7vw, 2.15rem); line-height: 1.18; letter-spacing: -.035em; }
.showcase-intro > p { flex-shrink: 0; margin: 0; color: #64736e; font-size: .85rem; }
.feature-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.2rem; }
.feature-card { grid-column: span 2; min-width: 0; overflow: hidden; border: 1px solid #dce5e0; border-radius: .9rem; background: #fff; box-shadow: 0 5px 20px #17332d06; }
.feature-card-wide { grid-column: span 3; }
.feature-preview { position: relative; display: block; width: 100%; padding: .85rem .85rem 0; overflow: hidden; border: 0; border-bottom: 1px solid #e4ebe7; background: #e9efec; cursor: zoom-in; }
.feature-preview > img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 760; object-fit: contain; object-position: top; border-radius: .4rem .4rem 0 0; box-shadow: 0 0 0 1px #17332d0d; background: white; }
.preview-hint { position: absolute; right: 1.4rem; bottom: .7rem; display: flex; gap: .65rem; align-items: center; padding: .38rem .6rem; border: 1px solid #c9d9d1; border-radius: .35rem; background: #fffffff5; color: #1b6049; font: 700 .68rem/1.3 system-ui, sans-serif; box-shadow: 0 2px 8px #17332d12; }
.preview-hint > span { font-size: 1rem; }
.feature-preview:hover { background: #dcebe3; }
.feature-preview:focus-visible { outline: 3px solid #1f7a5a; outline-offset: -4px; }
.feature-copy { padding: 1.2rem 1.35rem 1.35rem; }
.feature-copy .eyebrow { margin-bottom: .45rem; font-size: .65rem; }
.feature-copy h3 { margin: 0 0 .55rem; color: #17332d; font-size: 1.07rem; line-height: 1.3; letter-spacing: -.015em; }
.feature-card-wide h3 { font-size: 1.25rem; }
.feature-copy > p:last-child { margin: 0; color: #60716a; font-size: .84rem; line-height: 1.6; }
.showcase-note { margin: 1.4rem 0 0; color: #6d7b75; text-align: center; font-size: .73rem; }
.screenshot-popover { width: min(78rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; overflow: auto; border: 1px solid #c7d7ce; border-radius: .8rem; background: #fff; color: #17332d; box-shadow: 0 24px 90px #0006; }
.screenshot-popover::backdrop { background: #0c201acc; backdrop-filter: blur(5px); }
.screenshot-popover > img { display: block; width: 100%; height: auto; }
.preview-heading { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .75rem 1rem; border-bottom: 1px solid #dce5e0; background: #fff; }
.preview-heading strong, .preview-heading span { display: block; }
.preview-heading span { color: #6d7b75; font-size: .72rem; }
.preview-heading button { width: 2.5rem; height: 2.5rem; border: 1px solid #dce5e0; border-radius: .45rem; background: #f4f7f6; color: #17332d; cursor: pointer; font-size: 1rem; }
.preview-heading button:focus-visible { outline: 3px solid #1f7a5a; }
@media (max-width: 900px) {
    .content { padding: 2rem; }
    .showcase-intro { display: block; }
    .showcase-intro > p { margin-top: 1rem; }
    .feature-copy { padding: 1rem; }
}
@media (max-width: 760px) {
    .page { width: calc(100% - 2rem); padding: 1rem 0; }
    .page > main { grid-template-columns: 1fr; }
    .brand { min-height: auto; gap: 1rem; padding: 1.4rem; }
    .brand-copy { margin: 0; max-width: none; }
    .brand-copy strong { font-size: 1.1rem; }
    .content { padding: 1.8rem 1.4rem; }
    h1 { font-size: 2.2rem; }
    .showcase { padding-top: 2.2rem; }
    .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
    .feature-card, .feature-card-wide { grid-column: span 1; }
    .feature-card:last-child { grid-column: 1 / -1; }
    .feature-card-wide h3 { font-size: 1.07rem; }
}
@media (max-width: 520px) {
    .feature-grid { grid-template-columns: 1fr; }
    .feature-card, .feature-card-wide { grid-column: 1; }
    .feature-copy { padding: 1.15rem; }
    .screenshot-popover { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }
}
