.contact-page .page-hero {padding-bottom:48px}
.contact-page .page-hero .apple-headline {font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-.055em}
.contact-page .page-hero .apple-subhead {max-width:820px;font-size:1.05rem;line-height:1.8}
.contact-section {padding:40px 0 88px;background:#f5f7fa}
.contact-layout {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
.contact-layout>* {min-width:0}
.square-tiles-grid {display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.square-tiles-grid[hidden] {display:none}
.square-tile {border:1px solid #dce3eb;background:white;border-radius:14px;padding:14px 20px;text-align:start;font:inherit;color:#334155;cursor:pointer}
.square-tile.active {border-color:#076cba;color:#076cba;background:#eef6ff}
.detail-reveal-container,.contact-form-card {border:1px solid #e3e8ef;border-radius:28px;background:#fff;padding:36px;box-shadow:0 8px 32px rgba(23,43,77,.035)}
.contact-symbol {width:56px;height:56px;display:grid;place-items:center;border-radius:18px;color:#0871bb;background:#edf6ff;margin-bottom:28px}
.contact-symbol svg,.contact-channel-icon svg {width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reveal-header-tag,.contact-form-eyebrow {font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0871bb;margin-bottom:10px;display:block}
.reveal-name,.contact-form-heading {font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.035em;line-height:1.25;color:#132a43;margin-bottom:16px}
.reveal-desc-text,.contact-form-notice {font-size:.92rem;line-height:1.8;color:#687a8d;margin-bottom:28px}
.reveal-grid {display:grid;gap:12px;margin:28px 0}
.reveal-info-box {display:flex;gap:14px;align-items:center;padding:20px;border:1px solid #e5ebf2;border-radius:18px;background:#f9fbfe;text-decoration:none;color:inherit;transition:background .18s,border-color .18s}
.reveal-info-box:hover {background:#f0f6fc;border-color:#bdcee1}
.contact-channel-icon {width:40px;height:40px;border-radius:12px;flex-shrink:0;background:#fff;color:#0871bb;display:grid;place-items:center}
.contact-channel-copy {min-width:0;flex:1}
.reveal-info-label {display:block;font-size:.72rem;font-weight:600;color:#6e8093;margin-bottom:5px}
.reveal-info-val {font-size:.94rem;font-weight:700;color:#203a55;overflow-wrap:anywhere;display:block}
.contact-channel-arrow {color:#7f93a8;font-size:1.3rem}
.contact-help {font-size:.83rem;line-height:1.7;color:#7b8b9b;margin-top:24px}
.reveal-btn {display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:12px;border:1px solid transparent;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;text-decoration:none;transition:background .18s,transform .18s}
.reveal-btn-primary {background:#0871bb;color:#fff}
.reveal-btn-primary:hover {background:#055e9d;transform:translateY(-1px)}
.reveal-btn-outline {background:#fff;border-color:#dbe3ec;color:#31495f}
.reveal-btn-outline:hover {background:#f4f7fa}
.contact-form-card form {display:flex;flex-direction:column;gap:18px}
.contact-form-card label {font-size:.8rem;font-weight:600;color:#31495f;display:block;margin-bottom:8px}
.contact-form-card .form-grid-2col {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-form-card .form-input {width:100%;min-width:0;border:1px solid #dfe6ee;border-radius:12px;background:#f9fbfd;padding:13px 14px;font:inherit;font-size:.88rem;color:#233d56;box-sizing:border-box}
.contact-form-card .form-input:focus {outline:3px solid #dceefe;border-color:#0871bb;background:#fff}
.contact-form-card textarea {resize:vertical;min-height:132px}
.contact-form-card .reveal-btn {align-self:stretch;margin-top:2px}
.contact-form-status {font-size:.84rem;line-height:1.6;color:#496b87;margin:0}
.contact-form-status[hidden] {display:none}
.contact-page a:focus-visible,.contact-page button:focus-visible {outline:3px solid #aad6fa;outline-offset:4px}
@media (max-width:900px) {.contact-layout {grid-template-columns:minmax(0,1fr)}.contact-section {padding:24px 0 56px}}
@media (max-width:480px) {.detail-reveal-container,.contact-form-card {padding:24px;border-radius:22px}.contact-form-card .form-grid-2col {grid-template-columns:minmax(0,1fr)}.reveal-info-box {padding:16px;gap:10px}.reveal-info-val {font-size:.86rem}}
@media (prefers-reduced-motion:reduce) {.reveal-info-box,.reveal-btn {transition:none}.reveal-btn:hover {transform:none}}
