@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@500;600;650;700;750;800&display=swap');

:root { color-scheme: light; --ink:#142139; --muted:#626d80; --blue:#203ece; --line:#e2e6ee; --surface:#fff; }
* { box-sizing:border-box; }
body { margin:0; min-height:100svh; padding:64px 32px; display:grid; place-items:center; color:var(--ink); font-family:'DM Sans',Arial,sans-serif; font-size:16px; line-height:1.55; background-color:#eef1f7; background-image:radial-gradient(#ccd3e0 .65px,transparent .65px); background-size:18px 18px; }
a { color:inherit; }
.profile { width:100%; max-width:1016px; padding:34px 48px 0; background:var(--surface); border:1px solid #dde3ee; border-radius:24px; box-shadow:0 20px 70px #2337590b,0 2px 8px #23375904; }
.topline { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:57px; }
.monogram { color:var(--ink); font-family:'Manrope',Arial,sans-serif; font-size:25px; font-weight:800; letter-spacing:-1.3px; text-decoration:none; }
.monogram span { color:var(--blue); }
.location { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:.875rem; }
svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.location svg { width:17px; height:17px; }
.content { display:grid; grid-template-columns:1fr 1.08fr; align-items:start; gap:58px; }
.eyebrow { font-size:.75rem; font-weight:700; letter-spacing:.12em; color:var(--blue); margin:0 0 18px; }
h1 { font-family:'Manrope',Arial,sans-serif; font-size:clamp(2.9rem,4.6vw,3.6rem); line-height:1.1; letter-spacing:-.045em; margin:0; font-weight:800; }
.name-dot { color:var(--blue); }
.bio { color:var(--muted); max-width:335px; margin:25px 0 23px; font-size:1rem; line-height:1.75; }
.expertise { display:flex; flex-wrap:wrap; gap:7px; }
.expertise span { padding:5px 10px; font-size:.875rem; font-weight:550; color:#425170; border:1px solid var(--line); border-radius:5px; background:#fafbfe; }
.certification { display:flex; align-items:flex-start; gap:10px; margin-top:33px; }
.certification svg { width:21px; height:21px; margin-top:2px; color:#56637c; }
.certification p { margin:0; }
.certification strong { display:block; font-size:.875rem; font-weight:600; }
.certification p span { display:block; font-size:.8125rem; color:var(--muted); margin-top:3px; }
.links { display:grid; gap:11px; padding-top:0; }
.link-card { position:relative; display:flex; align-items:center; gap:16px; padding:17px 19px; min-height:82px; border:1px solid var(--line); border-radius:12px; text-decoration:none; background:#fff; transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease; }
.link-card:hover { border-color:#9cace9; background:#f8faff; box-shadow:0 4px 12px #203ece08; }
.link-card:focus-visible,.monogram:focus-visible { outline:3px solid #6b87ff; outline-offset:4px; }
.icon { flex-shrink:0; width:40px; height:40px; display:grid; place-items:center; background:#f2f4fa; border-radius:9px; color:#445574; }
.icon svg { width:22px; height:22px; }
.linkedin { font-family:Arial,sans-serif; font-size:23px; font-weight:700; letter-spacing:-1.5px; padding-bottom:2px; }
.link-text { min-width:0; }
.link-text strong { display:block; font-size:1rem; font-weight:650; line-height:1.4; }
.link-text>span { display:block; color:var(--muted); font-size:.875rem; margin-top:3px; line-height:1.5; overflow-wrap:anywhere; }
.primary { background:var(--blue); color:#fff; border-color:var(--blue); min-height:94px; }
.primary:hover { background:#1833b7; border-color:#1833b7; box-shadow:0 5px 18px #203ece20; }
.primary .icon { background:#ffffff18; color:#fff; }
.primary .link-text>span { color:#e0e6ff; }
.format { margin-left:auto; color:#fff; font-size:.75rem; line-height:1; font-weight:600; letter-spacing:.05em; border:1px solid #ffffff5c; border-radius:4px; padding:6px; }
footer { display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid var(--line); padding:22px 0; margin-top:48px; color:#727d8e; font-size:.8125rem; }
@media (min-width:1500px) { body { padding-top:80px; padding-bottom:80px; } }
@media (max-width:820px) { body { padding:32px 22px; }.profile { padding:28px 30px 0; }.content { gap:28px; grid-template-columns:1fr 1.15fr; }.topline { margin-bottom:42px; }.link-card { padding:16px 14px; gap:12px; }.format { display:none; } }
@media (max-width:640px) { body { padding:18px 14px; display:block; }.profile { padding:23px 23px 0; border-radius:18px; max-width:480px; margin:auto; }.topline { margin-bottom:34px; }.content { grid-template-columns:1fr; gap:32px; }h1 { font-size:3.35rem; }.bio { max-width:none; margin:21px 0; }.certification { margin-top:22px; }.link-card { min-height:80px; padding:16px; }.primary { min-height:90px; }.format { display:block; }footer { margin-top:30px; padding:21px 0; display:block; }footer span { display:block; }footer span+span { margin-top:3px; } }
@media (max-width:360px) { body { padding:10px; }.profile { padding:20px 18px 0; }h1 { font-size:2.9rem; }.format { display:none; }.location { font-size:.8125rem; }.eyebrow { font-size:.75rem; letter-spacing:.07em; } }
@media (prefers-reduced-motion:reduce) { * { transition:none!important; } }
