*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Arial,'Helvetica Neue',Helvetica,ui-sans-serif,system-ui,Segoe UI,Roboto,Ubuntu,Cantarell;line-height:1.5}
body{background:#faf7f2;color:#0b1220}
.container{max-width:760px;margin:32px auto;padding:0 16px}
.card{background:#ffffff;border:1px solid #e5e7eb;border-radius:16px;padding:22px 24px;margin-bottom:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.center{text-align:center}
a{color:#1d4ed8;text-decoration:none}
a:hover{text-decoration:underline}
.button{display:inline-block;border:1px solid #2563eb;padding:10px 14px;border-radius:12px;background:#2563eb;color:#fff;font-weight:600}
.button-ghost{display:inline-block;border:1px solid #2563eb;padding:10px 14px;border-radius:12px;background:transparent;color:#2563eb;font-weight:600}
.button-wide{display:block;width:100%}
.muted{color:#6b7280}
.small{font-size:.9rem}
label{display:flex;flex-direction:column;gap:6px;font-weight:600}
input,textarea{border:1px solid #d1d5db;background:#ffffff;color:#0b1220;border-radius:10px;padding:10px 12px;font:inherit}
.status{margin-top:10px;font-weight:600}
.status.success{color:#16a34a}
.status.error{color:#dc2626}
.hp{position:absolute;left:-50000px;top:auto;width:1px;height:1px;overflow:hidden}

/* Hero */
.avatar{width:112px;height:112px;border-radius:9999px;border:2px solid #e5e7eb;margin-bottom:5px}
.hero .name{font-size:2rem;margin:0 0 .125rem}
.hero .role{margin:.05rem 0;color:#6b7280}
.hero .tagline{margin:.1rem 0 .8rem;font-style:italic}
.hero .tagline em{color:#1d4ed8}
.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}

/* Contact list */
.section-title{font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:1.25rem;margin:0 0 .75rem;font-weight:700}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{display:grid;grid-template-columns:96px 1fr;column-gap:8px;align-items:baseline;margin:6px 0}
.contact-list .label{color:#6b7280;justify-self:start}
.contact-list .label::after{content:":";margin-left:4px}
.contact-list li>a{min-width:0;max-width:100%}
.contact-list a{word-break:break-word;overflow-wrap:anywhere}
@media (max-width:420px){ .contact-list li{grid-template-columns:84px 1fr;column-gap:6px} }

/* Form */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.col-span-2{grid-column:1 / -1}
.form-actions{text-align:center}
@media (max-width:639px){ .form-grid{grid-template-columns:1fr} }
