/* Front-door and first-use paths share the site's native disclosure pattern. */
.front-door { padding-top: 2.75rem; }
.front-door-heading { max-width: 840px; margin-bottom: 2rem; }
.front-door-heading h1 { font-size: clamp(2.1rem, 4.8vw, 4rem); line-height: 1.1; margin-block: .8rem 1rem; overflow-wrap: anywhere; }
.front-door-heading .lead { max-width: 66ch; font-size: 1.05rem; line-height: 1.7; }
.front-door-question { font-size: 1.35rem; margin-bottom: 1rem; }
.entry-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.entry-path { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 1.5rem; border: 1px solid var(--border); border-top: 3px solid var(--accent); border-radius: var(--radius); background: var(--surface); }
.entry-path-number { font-family: var(--mono); font-size: .75rem; color: var(--accent); margin-bottom: .8rem; }
.entry-path h3 { font-size: 1.35rem; margin-bottom: .75rem; }
.entry-path p { font-size: .92rem; line-height: 1.65; margin-bottom: 1.5rem; }
.entry-path .button-link { margin-top: auto; justify-content: space-between; font-size: .83rem; padding-inline: 1rem; min-height: 48px; gap: .5rem; white-space: normal; }
.entry-path .button-link span { flex-shrink: 0; }
.front-door-boundary { max-width: 100ch; color: var(--muted); font-size: .9rem; line-height: 1.7; margin-block: 1.5rem; }
.front-door-details { margin-top: 1rem; }
.front-door-secondary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.front-door-secondary section { min-width: 0; }
.front-door-secondary h3 { font-size: 1.1rem; }
.front-door-secondary a { display: block; padding-block: .6rem; min-height: 44px; }
.front-door-steps { padding-left: 1.3rem; }
.front-door-steps li { margin-block: .7rem; padding-left: .25rem; }
.front-door-path { max-width: 960px; }
.front-door-path .panel { margin-block: 1.5rem; }
.front-door-path .panel h2 { font-size: 1.35rem; }
.front-door-path .page-actions { align-items: center; }
.front-door-path .page-actions > a { min-height: 44px; display: inline-flex; align-items: center; }
.front-door-path button, .front-door-path .button-link { min-height: 48px; }
.idea-form textarea { min-height: 110px; resize: vertical; }
.idea-form .helptext { margin-top: .5rem; }
.idea-answers dd { overflow-wrap: anywhere; white-space: normal; }
/* Idea detail follows its content instead of filling the viewport. */
.main-content.idea-detail { min-height: 0; padding-bottom: 2rem; }
.idea-detail > :last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  .entry-paths { grid-template-columns: 1fr; }
  .entry-path { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1.5rem; padding: 1.2rem; }
  .entry-path-number { display: none; }
  .entry-path h3 { margin-bottom: .35rem; }
  .entry-path p { grid-column: 1; margin-bottom: 0; }
  .entry-path .button-link { grid-column: 2; grid-row: 1 / span 2; align-self: center; margin-top: 0; }
  .front-door-secondary { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 600px) {
  .front-door { padding-top: 1.25rem; }
  .front-door-heading { margin-bottom: 1rem; }
  .front-door-heading h1 { font-size: clamp(1.9rem, 7.8vw, 2.5rem); margin-block: .5rem .75rem; }
  .front-door-heading .lead { font-size: .95rem; line-height: 1.5; margin-bottom: .75rem; }
  .entry-paths { gap: .6rem; }
  .entry-path { display: flex; padding: .8rem 1rem; }
  .entry-path h3 { font-size: 1.2rem; }
  .entry-path p { font-size: .9rem; line-height: 1.45; margin-bottom: .55rem; }
  .entry-path .button-link { width: 100%; margin-top: 0; }
  .front-door-path .panel { padding: 1.1rem; }
  .front-door-path .page-actions { align-items: stretch; }
  .front-door-path .button-link, .front-door-path button[type="submit"] { width: 100%; white-space: normal; }
  .front-door-path .page-actions > a { overflow-wrap: anywhere; }
}
