:root{
  --navy:#1F2A44; --ink:#1A1F2B; --muted:#4A5468; --line:#D9DCE3;
  --ground:#F6F5F1; --card:#FFFFFF; --accent:#1F7A70; --on-navy:#B9C7E2;
}
@media (prefers-color-scheme: dark){
  :root{ --ink:#E8EBF2; --muted:#A9B3C6; --line:#2E3850; --ground:#121826; --card:#182033; --accent:#5EC2B7; }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",sans-serif}
.wrap{max-width:860px;margin:0 auto;padding:0 20px}
.hero{background:var(--navy);color:#fff;padding:88px 0 72px}
.kicker{margin:0 0 16px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-navy)}
h1{margin:0 0 20px;font-size:clamp(30px,5vw,46px);line-height:1.15;letter-spacing:-.01em;max-width:18ch}
.lede{margin:0 0 32px;color:#DCE3F0;max-width:56ch}
h2{font-size:22px;margin:56px 0 20px;letter-spacing:-.005em}
h3{font-size:17px;margin:2px 0 8px;line-height:1.35}
.button{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:6px;
  padding:12px 22px;font:600 15px/1 inherit;font-family:inherit;text-decoration:none;cursor:pointer;min-height:44px}
.hero .button{background:#5EC2B7;color:#0F1A2E}
.button:hover{filter:brightness(1.08)}
.button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.highlights{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.highlights li{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px 20px}
.highlights strong{display:block;margin-bottom:6px}
.highlights span{color:var(--muted);font-size:15px}
.timeline{list-style:none;padding:0;margin:0}
.timeline>li{padding:0 0 26px;border-bottom:1px solid var(--line);margin-bottom:26px}
.timeline>li:last-child{border-bottom:0}
.when{margin:0;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.timeline ul{margin:0;padding-left:20px;color:var(--muted)}
.timeline ul li{margin:4px 0}
.skills{margin:0;display:grid;gap:12px}
.skills div{display:grid;grid-template-columns:150px 1fr;gap:16px}
.skills dt{font-weight:600}
.skills dd{margin:0;color:var(--muted)}
.contact form{display:grid;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:24px}
.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
label{display:grid;gap:6px;font-size:14px;font-weight:600}
input,textarea{font:inherit;font-weight:400;color:var(--ink);background:var(--ground);border:1px solid var(--line);
  border-radius:6px;padding:10px 12px;width:100%}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.status{margin:0;min-height:1.6em;font-weight:600}
.fine{margin:0;font-size:13px;color:var(--muted)}
footer{padding:48px 20px 40px;color:var(--muted);font-size:14px}
@media (max-width:640px){
  .highlights,.row{grid-template-columns:1fr}
  .skills div{grid-template-columns:1fr;gap:2px}
  .hero{padding:64px 0 52px}
}
