/* E001 only. Shared header/footer, type and color tokens remain canonical. */
.e001-page .e001-hero h1 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.e001-page .e001-content, .e001-page .e001-form-heading { max-width:1080px; }
.e001-form-area { padding-top:var(--space-3xl); }
/* Bottom space = twice the policy-to-confirm gap (consent padding + submit margin). */
.e001-page .e001-content { padding-bottom:calc(2 * (var(--space-xl) + var(--space-lg))); }
.e001-page .e001-phone { display:flex; align-items:center; justify-content:space-between; gap:var(--space-lg); margin:0 0 var(--space-lg); padding:var(--space-lg) var(--space-xl); background:var(--color-surface-soft); border-radius:var(--radius-small); }
.e001-phone h2 { margin:0 0 .5rem; font-size:1.125rem; color:var(--color-brand-green-darker); }
.e001-phone p { margin:0; font-size:var(--font-size-small); }
.e001-phone a { display:flex; gap:.6rem; align-items:center; white-space:nowrap; font-family:Impact, sans-serif; font-size:2rem; color:var(--color-brand-green-darker); text-decoration:none; }
.e001-phone img { width:2.75rem; height:auto; }
.e001-intro { margin-bottom:var(--space-lg); }
.e001-required-note { margin:0 0 var(--space-md); text-align:right; }
/* Photo examples from the user-provided reference; visual crops only. */
.e001-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-lg); margin:var(--space-lg) 0; }
.e001-photo-crop { position:relative; overflow:hidden; aspect-ratio:280/300; width:100%; max-width:200px; margin-inline:auto; }
.e001-photo-crop img { position:absolute; width:712.857143%; max-width:none; height:auto; left:-302.857143%; top:-15.666667%; }
.e001-photo-crop--whole img { top:-164.333333%; }
@media(max-width:767px) {
 .e001-photos { grid-template-columns:minmax(0,1fr); }
}
.e001-submit { text-align:center; margin-top:var(--space-lg); }
.e001-submit .button { margin-inline:auto; }
.e001-page :is(input,textarea,select,button,a):focus-visible { outline:3px solid var(--color-brand-green-darker); outline-offset:3px; }
.e001-status { padding:var(--space-md); border:1px solid var(--color-border-strong); background:var(--color-surface-soft); }
.e001-page :is(input,select,textarea,#e001-status,#contact-form) { scroll-margin-top:8rem; }
.e001-page:has(#contact-form input:focus,#contact-form textarea:focus,#contact-form select:focus) #legacy-fixed-cta { visibility:hidden; }
@media(max-width:767px) {
 .e001-page .e001-phone { flex-direction:column; text-align:center; padding:var(--space-lg) var(--space-md); margin-top:0; }
 .e001-phone a { font-size:1.875rem; }
}

/* Step dividers: all input blocks remain visible in the prototype. */
.e001-step-action { margin:var(--space-xl) 0 var(--space-3xl); text-align:center; }
/* P003-10 controls size, color and interaction; only the label layout is local. */
.e001-next { position:relative; margin-inline:auto; }
.e001-next strong { font-size:inherit; line-height:1.4; white-space:nowrap; }
.e001-next > span { position:absolute; right:var(--space-lg); font-size:var(--font-size-small); white-space:nowrap; font-weight:400; }
@media (max-width:480px) {
 .e001-next > span { right:.75rem; bottom:.125rem; font-size:var(--font-size-caption); line-height:1.2; }
}


/* Separate the gray form area from the shared footer with white space. */
.e001-page #main { padding-bottom:var(--space-4xl); }
@media(max-width:767px) {
 .e001-page #main { padding-bottom:var(--space-2xl); }
}
