.site-shell { width: min(1120px, calc(100% - 2rem)); margin: auto; }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.site-header nav { display: flex; gap: 1rem; align-items: center; }
.site-header nav a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 650; text-decoration: none; }
.hero { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.8fr); gap: clamp(2rem,6vw,5rem); align-items: center; padding: clamp(3rem,7vw,7rem) 0; }
.hero h1 { max-width: 15ch; font-size: clamp(2.5rem,5.5vw,4.5rem); line-height: 1.04; }
.lead { color: var(--muted); max-width: 48ch; font-size: 1.15rem; }
.actions a { display: inline-flex; min-height: 48px; align-items: center; padding: .7rem 1.2rem; border-radius: 8px; text-decoration: none; font-weight: 650; }
.actions .secondary { border: 1px solid var(--line); color: var(--ink); }
.identity-card { padding: 2rem; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; }
.card-label { color: var(--action); font-size: .9rem; font-weight: 650; }
.entry-steps { list-style: none; padding: 0; margin: 0; }
.entry-steps li { display: grid; grid-template-columns: 2rem 1fr; gap: .8rem; padding: 1rem 0; }
.entry-steps li + li { border-top: 1px solid var(--line); }
.entry-steps strong, .entry-steps small { display: block; }
.step-number { color: var(--action); font-weight: 650; }
.next-step { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 3rem; padding: 2.5rem 0; border-top: 1px solid var(--line); }
.next-step h2 { font-size: 1.8rem; }
.next-step p { color: var(--muted); }
.next-step > a { grid-column: 2; min-height: 44px; }
.site-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding: 1.5rem 0; border-top: 1px solid var(--line); color: var(--muted); }
@media (max-width: 740px) { .hero, .next-step { grid-template-columns: 1fr; } .next-step > a { grid-column: 1; } .identity-card { padding: 1.5rem; } }
@media (max-width: 400px) { .site-header nav { gap: .6rem; font-size: .88rem; } .actions { flex-direction: column; } }

@media (max-width: 540px) { .site-header { align-items: flex-start; flex-wrap: wrap; } .site-header nav { flex-wrap: wrap; } }
