.contact-page{padding:2.75rem 1.75rem 3rem;box-sizing:border-box}.contact-shell{max-width:52rem;margin:0 auto}h1,p{margin:0}h1{font-size:clamp(2rem,3.5vw,2.8rem);line-height:1.15}.intro-copy{margin-top:1rem;font-size:1.08rem;line-height:1.8;letter-spacing:.01em}.alert{margin-top:1.5rem;padding:.9rem 1rem;border-radius:.9rem;border:1px solid #d9d9d9;font-size:.98rem}.alert-success{background:#eefaf1;border-color:#b9e0c1;color:#166534}.alert-danger{background:#fff1f2;border-color:#fecdd3;color:#be123c}.contact-form{margin-top:1.5rem;display:grid;gap:1rem}.field-row{display:grid;grid-template-columns:5rem minmax(0,1fr);align-items:center;gap:1rem}.message-row{align-items:start}label{font-weight:600}.message-row label{padding-top:.65rem}input,textarea{width:100%;min-width:0;padding:.8rem .95rem;border:1px solid #d9d9d9;border-radius:.9rem;background:#fff;font:inherit;box-sizing:border-box}textarea{resize:vertical;min-height:8rem}input:focus,textarea:focus{outline:2px solid #c7d2fe;outline-offset:1px;border-color:#1a237e}button{width:8.75rem;padding:.75rem 1rem;border:0;border-radius:999px;background:#111;color:#fff;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .2s ease}button:hover,button:focus-visible{background:#2b2b2b;transform:translateY(-1px)}@media(max-width:640px){.contact-page{padding:2.5rem 1rem 3rem}.field-row{grid-template-columns:1fr;gap:.45rem}.message-row label{padding-top:0}}
