body { background: #fff; color: #3c3c3c; min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
main { flex: 1; }
footer { flex-shrink: 0; }
.intro-band { padding: 6rem 1.5rem 3.5rem; background: #cdf4f3; }
.intro-layout { max-width: var(--max-width); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: center; }
.intro-band .intro { margin: 0; }
.intro h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; line-height: 1.15; letter-spacing: normal; margin-bottom: 0.75rem; }
.intro p { font-size: clamp(1.125rem, 2vw, 1.25rem); line-height: 1.7; color: #3c3c3c; }
.intro-art { display: block; width: 100%; max-width: 31.25rem; height: auto; justify-self: center; }
.page-shell { max-width: calc(var(--max-width) + 3rem); padding: 3rem 1.5rem 4rem; }
.form-panel, .info-panel { border: 1.5px solid #d3dde3; border-radius: 6px; box-shadow: 5px 5px 0 #c4ecea; }
.form-panel h2, .info-panel h2 { font-weight: 900; }
.info-panel { background: #f7f7f7; color: #3c3c3c; }
.info-panel h2 { color: var(--navy); }
.info-panel p, .info-panel li { color: #3c3c3c; line-height: 1.7; }
.contact-link { overflow-wrap: anywhere; }
.field-hint { margin-top: 0.5rem; font-size: 0.8rem; line-height: 1.5; color: var(--muted); }
.button { font-family: var(--font-display); font-size: 1.05rem; font-weight: 900; color: var(--navy); background: var(--teal-bright); padding: 0.85em 1.9em; border: 2px solid var(--navy); border-radius: 12px; box-shadow: 5px 5px 0 var(--navy); transition: transform 0.12s, box-shadow 0.12s; }
.button:hover:not(:disabled) { filter: none; transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--navy); }
.button:active:not(:disabled) { transform: translate(5px, 5px); box-shadow: none; }
.button:disabled { opacity: 0.65; cursor: wait; }
@media (max-width: 45rem) {
    .intro-layout { grid-template-columns: 1fr; gap: 1.5rem; }
    .intro-art { max-width: 24rem; }
    .inquiry-layout { gap: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
    .button { transition: none; }
    .button:hover:not(:disabled), .button:active:not(:disabled) { transform: none; }
}
