.contact-page{width:100%;margin-top:0}.contact-hero{background:#f0f6ff;padding:5rem 0 4rem;text-align:center;border-bottom:1px solid rgba(37,99,235,.08)}.contact-hero__inner{width:min(100% - 2rem,var(--container));margin-inline:auto;max-width:48rem}.contact-hero__title{font-family:var(--font-display),Georgia,serif;font-size:clamp(2.5rem,5vw,3.5rem);color:#0f172a;line-height:1.1;margin:0 0 1rem}.contact-hero__lead{font-size:1.15rem;line-height:1.7;color:#475569;margin:0}.contact-layout{width:min(100% - 2rem,var(--container));margin-inline:auto;padding:5rem 0;display:grid;gap:4rem}@media (min-width:768px){.contact-layout{grid-template-columns:1fr 1.25fr}}.contact-info{display:flex;flex-direction:column;gap:2.5rem}.contact-info__header{display:flex;flex-direction:column;gap:.75rem}.contact-info__eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#2563eb}.contact-info__heading{font-family:var(--font-display),Georgia,serif;font-size:2rem;color:#0f172a;margin:0}.contact-info__text{color:#475569;line-height:1.6;margin:0;font-size:.95rem}.contact-info__grid{display:grid;gap:2rem}@media (min-width:640px) and (max-width:767px){.contact-info__grid{grid-template-columns:repeat(2,1fr)}}.contact-card{background:var(--surface);border:1px solid var(--border);padding:1.5rem;border-radius:var(--radius-lg);display:flex;gap:1rem;align-items:flex-start;transition:transform .3s ease,border-color .3s ease}.contact-card:hover{transform:translateY(-2px);border-color:#bfdbfe}.contact-card__icon{width:2.5rem;height:2.5rem;border-radius:var(--radius-md);background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-card__content{display:flex;flex-direction:column;gap:.25rem}.contact-card__title{font-size:.95rem;font-weight:700;color:#0f172a;margin:0}.contact-card__detail{font-size:.9rem;color:#475569;margin:0;line-height:1.4}.contact-card__link{color:#2563eb;text-decoration:none;font-weight:500}.contact-card__link:hover{text-decoration:underline}.contact-form-container{background:var(--surface);border:1px solid var(--border);padding:2.5rem;border-radius:var(--radius-lg);box-shadow:0 10px 30px -10px rgba(15,23,42,.04)}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact-form__group{display:flex;flex-direction:column;gap:.5rem}.contact-form__label{font-size:.85rem;font-weight:600;color:#334155}.contact-form__input,.contact-form__textarea{width:100%;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--foreground);font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.contact-form__input:focus,.contact-form__textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.contact-form__textarea{min-height:9rem;resize:vertical}.contact-form__button{background:#2563eb;color:#ffffff;border:none;padding:.85rem 1.5rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px rgba(37,99,235,.15)}.contact-form__button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 16px rgba(37,99,235,.25)}.contact-form__button:disabled{opacity:.6;cursor:not-allowed}.contact-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form__error{margin:0;padding:.85rem 1rem;border-radius:var(--radius-md);background:#fef2f2;color:#991b1b;border:1px solid #fecaca;font-size:.9rem;line-height:1.5}.contact-success{text-align:center;padding:2rem 0;animation:form-success-fade-in .4s ease-out;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.contact-success__icon{width:4rem;height:4rem;border-radius:50%;background:#dcfce7;color:#15803d;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(22,163,74,.15)}.contact-success__title{font-family:var(--font-display),Georgia,serif;font-size:1.75rem;color:#0f172a;margin:0}.contact-success__text{color:#475569;line-height:1.6;max-width:24rem;margin:0}@keyframes form-success-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}