:root{
  --ink:#1b1f2a;
  --sub:#5b6375;
  --navy:#1f2a44;
  --pill:#eef1f6;
  --rule:#e2e6ef;
  --bg:#f6f8fc;
  --white:#ffffff;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--bg);
}

/* PAGE WRAPPER */
.page{
  max-width:900px;
  margin:32px auto;
  background:var(--white);
  border-radius:10px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  overflow:hidden;
  border:1px solid #e9edf5;
}

/* HEADER */
.banner{
  background:var(--navy);
  color:#fff;
  text-align:center;
  padding:32px 20px 22px;
}
.name{
  font-size:44px;
  letter-spacing:.4px;
  font-weight:700;
  margin:0 0 6px 0;
}
.subtitle{
  text-transform:uppercase;
  letter-spacing:6px;  /* spaced-out look */
  font-size:12px;
  opacity:.95;
}

/* GRID */
.content.two-col{
  display:grid;
  grid-template-columns: 1.35fr 0.92fr; /* LEFT = Profile+Work, RIGHT = Education+Skills+Awards+Contact */
  gap:22px;
  padding:22px;
}
.col-left, .col-right { display:flex; flex-direction:column; gap:18px; }

/* SECTION */
.section{background:var(--white);}
.section-title{
  background:var(--pill);
  color:#394156;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
  font-size:12px;
  padding:10px 12px;
  border:1px solid var(--rule);
  border-radius:8px;
}
.section-body{padding:12px 2px 2px;color:var(--ink);}
p{margin:0 0 .55rem}
.muted{color:var(--sub)}
.small{font-size:.95rem}
.tight p{margin-bottom:.35rem}

/* LISTS */
ul{margin:.25rem 0 .75rem 1.05rem}
li{margin:.25rem 0}

/* Multi-level bullets (layered) */
.bullets{margin-left:1.05rem; list-style:disc;}
.bullets > li{margin:.28rem 0;}
.bullets > li > ul{margin:.25rem 0 .35rem 1.05rem; list-style:circle;}
.bullets > li > ul > li{margin:.22rem 0;}
.bullets > li > ul > li > ul{margin:.2rem 0 .3rem 1.05rem; list-style:square;}
.bullets > li > ul > li > ul > li{margin:.18rem 0;}

/* WORK ENTRIES */
.job{margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--rule);}
.job:last-child{border-bottom:0}
.job-title{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 14px;
  margin:.05rem 0 .2rem;
  font-size:1rem;
}
.where{font-weight:600;}
.when{color:var(--sub);font-size:.92rem;}
.job-title .when{ display:block; width:100%; margin-top:2px; }  /* forces new line */
.place{color:var(--sub);font-size:.92rem;}

/* AWARDS */
.award{display:grid;grid-template-columns:18px 1fr;gap:8px;margin:.3rem 0}
.dot{width:10px;height:10px;border-radius:10px;background:var(--navy);margin-top:.45rem}

/* CONTACT */
.contact-list{list-style:none;margin:.2rem 0 0;padding:0}
.contact-list li{display:flex;gap:10px;align-items:flex-start;margin:.35rem 0}
.icon{font-style:normal;min-width:20px;opacity:.9}

/* FOOTER SPACER */
.spacer{height:18px}

/* RESPONSIVE */
@media (max-width:820px){
  .content.two-col{grid-template-columns:1fr}
  .name{font-size:36px}
}
