@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap');

:root { --ink: #1d1d1f; --muted: #6e6e73; --blue: #0071e3; --line: #d2d2d7; --paper: #fff; --wash: #f5f5f7; --soft-shadow: 0 14px 34px rgba(0, 0, 0, .07); }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: var(--wash); color: var(--ink); font: 14px/1.5 'DM Sans', sans-serif; }
a { color: inherit; }
.site-header { height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 4.5vw; background: var(--paper); border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.brand-image { width: 178px; height: 28px; display: block; }
.inline-brand-image { width: 102px; height: 16px; display: inline-block; vertical-align: -3px; }.eyebrow .inline-brand-image, .modal-kicker .inline-brand-image { width: 116px; height: 18px; vertical-align: -4px; }.primary-button .inline-brand-image { width: 102px; height: 16px; filter: invert(1); }.footer-brand-image { width: 76px; height: 12px; display: inline-block; vertical-align: -2px; }
.apple-mark { position: relative; width: 18px; height: 21px; display: inline-block; border-radius: 48% 48% 46% 46% / 54% 54% 42% 42%; background: var(--ink); transform: scale(.78); }
.apple-mark::before { content: ''; position: absolute; top: -5px; right: 1px; width: 8px; height: 5px; border-radius: 100% 0; background: var(--ink); transform: rotate(-25deg); }.apple-mark::after { content: ''; position: absolute; right: -4px; top: 8px; width: 7px; height: 9px; border-radius: 0 100% 0 100%; background: var(--paper); }
.brand-name { font: 600 17px Manrope, sans-serif; }.brand-divider { width: 1px; height: 24px; margin: 0 5px; background: #b6bbc0; }.brand-section { font-size: 16px; }
.change-link { color: #0067b8; font-size: 12px; text-decoration: underline; }
main { max-width: 1000px; margin: 0 auto; padding: 54px 24px 72px; }.intro { text-align: center; margin-bottom: 44px; }.eyebrow, .step-label { color: #496174; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }.intro h1 { margin: 8px 0 12px; font: 700 clamp(30px, 4vw, 42px)/1.15 Manrope, sans-serif; }.intro p:last-child { max-width: 580px; margin: 0 auto; color: var(--muted); font-size: 16px; }
.panel { background: rgba(255,255,255,.96); border: 1px solid #d5d5da; border-radius: 26px; box-shadow: 0 18px 42px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .04); }.verify-panel { max-width: 790px; margin: 0 auto; padding: 44px 50px 30px; }.panel h2 { margin: 8px 0 10px; font: 700 23px Manrope, sans-serif; }.panel-copy { margin: 0 0 28px; color: var(--muted); }
label, .detail-label { display: block; color: var(--ink); font-size: 12px; font-weight: 700; }.verify-panel input { width: 100%; height: 54px; margin-top: 9px; padding: 0 16px; border: 1px solid #86868b; border-radius: 14px; color: var(--ink); font: 500 14px 'DM Sans', sans-serif; outline: none; background: #fbfbfd; transition: border-color .2s, box-shadow .2s, background .2s; }.verify-panel input:hover { background: #fff; border-color: #555558; }.verify-panel input:focus { border: 2px solid var(--blue); box-shadow: 0 0 0 5px rgba(0, 113, 227, .14); background: #fff; }.field-note { margin: 9px 0 18px; color: #647482; font-size: 12px; }.error-message { min-height: 18px; margin: 0 0 5px; color: #b10e1e; font-size: 12px; }
.primary-button, .secondary-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 0; border-radius: 14px; font: 600 13px 'DM Sans', sans-serif; text-decoration: none; cursor: pointer; transition: background .2s, transform .2s, box-shadow .2s; }.primary-button { width: 100%; background: var(--ink); color: #fff; box-shadow: 0 5px 12px rgba(29, 29, 31, .16); }.primary-button:hover { background: #424245; transform: translateY(-1px); box-shadow: 0 8px 16px rgba(29, 29, 31, .2); }.primary-button span { font-size: 18px; line-height: 0; }.privacy-note { margin-top: 24px; color: #687782; font-size: 12px; }.lock-icon { margin-right: 6px; color: var(--blue); }
footer { padding: 0 4.5vw 28px; color: #66727c; font-size: 11px; text-align: center; }.profile-main { max-width: 940px; padding-top: 32px; }.breadcrumb { margin-bottom: 18px; color: #647482; font-size: 12px; }.breadcrumb a { color: #0067b8; }.breadcrumb span { margin: 0 8px; }.profile-panel { max-width: 900px; margin: 0 auto; padding: 42px 50px 30px; overflow: hidden; }.profile-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }.profile-heading h1 { margin: 8px 0 8px; font: 700 29px Manrope, sans-serif; }.change-link { align-self: start; margin-top: 6px; white-space: nowrap; }
.identity-card { display: flex; align-items: center; gap: 22px; margin: 28px 0; padding: 27px; background: #f5f5f7; border: 1px solid #d2d2d7; border-left: 4px solid var(--ink); border-radius: 20px; box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }.avatar { width: 82px; height: 82px; display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: 50%; background: #e5e5ea; border: 4px solid #fff; box-shadow: 0 0 0 1px #b8b8bd, 0 5px 12px rgba(0,0,0,.08); color: var(--ink); font: 700 25px Manrope, sans-serif; }.avatar img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 22%; }.identity-copy { min-width: 0; }.verified-line { color: #16874b; font-size: 12px; font-weight: 700; }.check { display: inline-grid; place-items: center; width: 17px; height: 17px; margin-right: 5px; border-radius: 50%; background: #16874b; color: white; font-size: 11px; }.identity-copy h2 { margin: 5px 0 0; font: 700 22px Manrope, sans-serif; text-transform: uppercase; }.role, .employee-id { margin: 2px 0 0; color: var(--muted); }.employee-id { font-size: 12px; }.employee-id strong { color: var(--blue); overflow-wrap: anywhere; }
.details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.detail { min-height: 88px; padding: 18px 19px; border: 1px solid var(--line); border-radius: 16px; background: #fbfbfd; transition: border-color .2s, box-shadow .2s, transform .2s; }.detail:hover { border-color: #a1a1a6; box-shadow: 0 7px 16px rgba(0,0,0,.05); transform: translateY(-1px); }.detail-label { margin-bottom: 7px; color: #525257; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }.detail strong { display: block; font-weight: 500; overflow-wrap: anywhere; }.profile-actions { display: flex; gap: 16px; margin-top: 30px; }.button-link { width: auto; padding: 0 22px; }.secondary-button { padding: 0 20px; border: 1px solid #7b858d; color: #164f78; background: #fff; }.secondary-button:hover { background: #f1f7fb; transform: translateY(-1px); }
.modal-open { overflow: hidden; }.modal-backdrop { position: fixed; inset: 0; z-index: 10; display: grid; place-items: center; padding: 24px; background: rgba(29,29,31,.46); backdrop-filter: blur(8px); }.modal-backdrop[hidden] { display: none; }.contact-modal { position: relative; width: min(100%, 520px); padding: 38px; border: 1px solid rgba(255,255,255,.8); border-radius: 26px; background: rgba(255,255,255,.98); box-shadow: 0 24px 70px rgba(0,0,0,.24); animation: modal-in .22s ease-out; }.modal-close { position: absolute; top: 17px; right: 18px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #f5f5f7; color: #525257; font-size: 23px; line-height: 1; cursor: pointer; }.modal-close:hover { background: #e5e5ea; }.modal-kicker { color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .14em; }.contact-modal h2 { margin: 7px 0 5px; font: 700 28px Manrope, sans-serif; }.modal-copy { margin: 0 0 24px; color: var(--muted); }.contact-list { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fbfbfd; }.contact-row { display: flex; justify-content: space-between; gap: 20px; padding: 15px 16px; border-bottom: 1px solid var(--line); }.contact-row:last-child { border-bottom: 0; }.contact-label { color: #6e6e73; font-size: 12px; }.contact-row strong { max-width: 62%; color: var(--ink); font-size: 12px; font-weight: 600; text-align: right; overflow-wrap: anywhere; }.modal-actions { display: flex; gap: 12px; margin-top: 24px; }.modal-actions .primary-button { width: auto; flex: 1; padding: 0 18px; }.modal-actions .secondary-button { flex: 0 0 92px; }.modal-actions a { color: #fff; }@keyframes modal-in { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 620px) { .site-header { padding: 0 18px; } main { padding: 36px 16px 52px; }.intro { margin-bottom: 28px; }.intro p:last-child { font-size: 14px; }.verify-panel, .profile-panel { padding: 28px 22px 24px; }.profile-heading { display: block; }.change-link { display: inline-block; margin-top: 16px; }.identity-card { align-items: flex-start; gap: 14px; padding: 18px; }.avatar { width: 64px; height: 64px; font-size: 19px; }.identity-copy h2 { font-size: 18px; }.details-grid { display: block; }.detail, .detail:nth-child(odd), .detail:nth-child(even) { padding: 15px 0; border-right: 0; }.profile-actions { display: block; }.profile-actions > * { width: 100%; margin-bottom: 10px; }.brand-name { font-size: 15px; } }.webmail-link { display: block; margin-top: 14px; color: #0066cc; font-size: 12px; text-align: center; text-decoration: underline; }