/* Rounded vision and signup entrances; square hero and State of Mind. */
:root { --section-curve: clamp(28px, 4vw, 56px); }
.vision, .signup { border-radius:var(--section-curve) var(--section-curve) 0 0; }
.hero, .manifesto, .evening { border-radius:0; }
.hero { overflow:hidden; }
.vision { position:relative; margin-top:calc(-1 * var(--section-curve)); background:var(--paper); }
/* A compact editorial row keeps the complete photograph in view. */
.manifesto { display:grid; grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr); align-items:center; height:auto; overflow:visible; }
.manifesto-card { padding:2rem clamp(1.5rem,4vw,4rem); text-align:left; min-width:0; }
.manifesto .eyebrow { margin:0 0 1rem; }
.manifesto blockquote { font-size:clamp(1.8rem,2.7vw,2.9rem); line-height:1.16; margin:0; }
.manifesto-accent { margin-top:.5em; }
.manifesto .evening { height:auto; min-width:0; overflow:visible; }
.manifesto .evening img { display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:contain; object-position:center; }
/* Keep signup below the photograph, without overlapping its lower edge. */
.signup { position:relative; margin-top:0; }
.button { border-radius:999px; }
.signup .form-row { gap:.7rem; }
.signup .form-row input { border-radius:999px; }
@media(max-width:900px) {
  .manifesto { grid-template-columns:1fr; }
  .manifesto-card { padding:1.7rem 7vw; text-align:center; }
  .manifesto blockquote { font-size:clamp(1.8rem,4.5vw,2.5rem); max-width:660px; }
}
/* Selected mobile layout: centered icons and copy with quiet row dividers. */
@media(max-width:560px) {
  .vision { padding-bottom:32px; }
  .vision-story .vision-copy p:last-child { margin-bottom:0; }
  .principles { grid-template-columns:1fr; margin:0; padding:0 26px 8px; border-top:0; }
  .principles::before { content:""; display:block; width:64px; height:1px; margin:0 auto 6px; background:var(--ochre); }
  .principles article { padding:26px 4px; text-align:center; border-right:0; }
  .principles .icon-trigger { width:72px; height:72px; padding:9px; margin:0 auto 16px; }
  .principles .principle-icon { width:54px; height:54px; }
  .principles h3 { font-size:1.375rem; line-height:1.16; margin:0 0 .5rem; }
  .principles p { max-width:300px; margin:0 auto; font-size:1rem; line-height:1.5; }
}
