:root{
    --page-bg:#efeeeb;
    --ink:#222;
    --muted:#555;
    --site-bg:#d8d5cf;
    --rule:#111;
    --paper-w:850px;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{
    background:var(--site-bg);
    font-family: Arial, Helvetica, sans-serif;
    color:var(--ink);
    padding:40px 20px 80px;
  }
  .resume-stack{
    max-width:calc(var(--paper-w) + 80px);
    margin:0 auto;
  }
  .page{
    width:100%;
    max-width:var(--paper-w);
    margin:0 auto 34px;
    background:var(--page-bg);
    border:1px solid #2d2d2d;
    box-shadow:12px 12px 0 rgba(0,0,0,.18);
    padding:22px 34px 30px;
  }
  .topline{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:18px;
  }
  .name{
    font-size:33px;
    line-height:1;
    font-weight:800;
    letter-spacing:.2px;
    margin:0 0 6px;
  }
  .contact,
  .top-meta{
    font-size:17px;
    color:#333;
  }
  .top-meta{
    text-align:right;
    font-size:15px;
    width:100%;
  }
  .section{margin-top:18px}
  .section-head{
    display:flex;
    align-items:flex-end;
    gap:14px;
    margin:16px 0 12px;
  }
  .vertical-label{
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    font-weight:800;
    font-size:17px;
    letter-spacing:.7px;
    line-height:1;
    min-width:24px;
  }
  .rule-wrap{flex:1}
  .rule{
    position:relative;
    border-top:5px solid var(--rule);
    height:0;
    margin-top:14px;
  }
  .rule:before{
    content:"◀";
    position:absolute;
    left:-2px;
    top:-17px;
    font-size:26px;
    line-height:1;
  }
  .summary-title{
    font-style:italic;
    font-weight:700;
    font-size:17px;
    margin:0 0 8px 22px;
  }
  ul{margin:6px 0 0 20px;padding-left:18px}
  li{margin:5px 0; line-height:1.32}
  .job{margin:14px 0 18px 22px}
  .job-title{
    font-weight:800;
    font-size:17px;
    line-height:1.25;
    margin-bottom:3px;
  }
  .job-dates{
    font-weight:800;
    font-size:16px;
    margin-bottom:4px;
  }
  .small-top{margin-top:2px}
  .edu-grid,
  .skills-grid{
    display:grid;
    gap:28px;
    margin-left:22px;
  }
  .edu-grid{grid-template-columns:1fr .95fr}
  .skills-grid{grid-template-columns:1fr 1fr}
  .divider-col{border-left:3px solid #333; padding-left:16px}
  h3{
    margin:0 0 4px;
    font-size:16px;
    line-height:1.25;
  }
  .subschool{margin:0 0 20px; color:#333; font-size:16px}
  .plain-list{margin:0; padding:0; list-style:none}
  .plain-list li{margin:3px 0}
  .skills-title{
    font-weight:800;
    font-size:16px;
    margin:0 0 8px 22px;
  }
  .marketing-tools{margin:18px 0 0 22px}
  .marketing-tools li span{font-weight:700; text-decoration:underline}
  .proof{margin-left:22px}
  .proof-title{font-weight:800; font-size:16px; margin:0 0 6px}
  a{color:inherit; text-decoration:none}
  .underline{text-decoration:underline}
  @media (max-width: 900px){
    body{padding:18px 10px 40px}
    .page{padding:18px 18px 22px; box-shadow:8px 8px 0 rgba(0,0,0,.16)}
    .topline{display:block}
    .top-meta{text-align:left; margin-top:6px}
    .name{font-size:27px}
    .contact{font-size:15px}
    .edu-grid,.skills-grid{grid-template-columns:1fr}
    .divider-col{border-left:0; padding-left:0}
  }
