:root{
  --wine:#7b2947;
  --wine-dark:#4b182d;
  --wine-soft:#f3e9ed;
  --olive:#59623b;
  --ink:#262427;
  --muted:#6d686b;
  --paper:#fff;
  --page:#ece9e7;
  --line:#ddd6d8;
  --shadow:0 18px 45px rgba(55,31,40,.20);
}
*{box-sizing:border-box}
html{min-height:100%;background:#7b2947}
body{
  margin:0;
  min-height:100vh;
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  line-height:1.6;
  background:
    linear-gradient(rgba(75,24,45,.82),rgba(75,24,45,.82)),
    radial-gradient(circle at 20% 10%,#a85470 0,transparent 35%),
    linear-gradient(135deg,#6f283f,#3d1a2b);
  background-attachment:fixed;
  padding:34px 18px 60px;
}
a{color:inherit}
.site{
  width:min(1040px,100%);
  margin:0 auto;
  background:var(--paper);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:var(--shadow);
}
.tabs{
  height:56px;
  display:flex;
  align-items:stretch;
  padding-left:26px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.tabs a{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 20px;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  color:#f7f4f5;
  background:#3c393b;
  border-right:1px solid #595557;
}
.tabs a:first-child{border-left:1px solid #595557}
.tabs a:hover{background:#504a4d}
.tabs a.active{
  color:var(--wine);
  background:#fff;
  border-top:4px solid var(--wine);
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
}
.icon{font-size:15px;opacity:.9}
.layout{display:grid;grid-template-columns:240px 1fr;min-height:650px}
.sidebar{
  padding:28px 24px 34px;
  border-right:1px solid var(--line);
  background:#fbfaf9;
}
.photo{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  display:block;
  border:8px solid #fff;
  outline:1px solid #d4cccf;
  box-shadow:0 6px 18px rgba(65,38,48,.12);
}
.side-title{
  margin:22px 0 12px;
  padding-bottom:6px;
  color:var(--wine);
  border-bottom:2px solid var(--wine);
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;
}
.details{margin:0;display:grid;gap:9px;font-size:12px}
.details dt{font-weight:700;color:#3f3b3d}
.details dd{margin:-7px 0 0;color:var(--muted);overflow-wrap:anywhere}
.details a{color:var(--wine);text-decoration:none}
.download{
  display:inline-block;
  margin-top:20px;
  padding:9px 13px;
  color:#fff;
  background:var(--wine);
  text-decoration:none;
  font-weight:700;
  font-size:12px;
  border:1px solid var(--wine-dark);
}
.download:hover{background:var(--wine-dark)}
.main{padding:28px 34px 46px}
.namebar{
  position:relative;
  margin:0 0 0;
  padding:20px 25px 18px;
  color:#fff;
  background:#3b3f40;
  border-bottom:5px solid var(--wine);
}
.namebar h1{
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:38px;
  line-height:1.1;
  text-shadow:0 2px 0 rgba(0,0,0,.18);
}
.namebar p{margin:5px 0 0;font-size:12px;color:#ddd}
.ribbon{
  position:absolute;
  right:0;
  bottom:-5px;
  padding:7px 13px;
  color:#fff;
  background:var(--wine);
  font-size:11px;
  font-weight:700;
}
.welcome{
  margin:0 0 26px;
  padding:22px 28px;
  text-align:center;
  color:#4d4549;
  background:var(--wine-soft);
  border-bottom:1px solid #eadde2;
  font-family:Georgia,'Times New Roman',serif;
  font-size:25px;
  font-style:italic;
}
.content{padding:0 4px}
.content h2{
  margin:27px 0 11px;
  color:var(--wine-dark);
  font-family:Georgia,'Times New Roman',serif;
  font-size:23px;
  font-weight:normal;
  border-bottom:1px solid var(--line);
  padding-bottom:6px;
}
.content h3{margin:20px 0 4px;font-size:16px;color:#343033}
.content p{margin:0 0 13px;color:#4c474a}
.lead{font-size:15px;line-height:1.8}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:22px 0}
.quick-card{padding:16px;border:1px solid var(--line);background:#fcfbfb}
.quick-card strong{display:block;color:var(--wine);font-family:Georgia,serif;font-size:17px;margin-bottom:4px}
.quick-card span{font-size:12px;color:var(--muted)}
.timeline{display:grid;gap:19px}
.job{padding-left:16px;border-left:4px solid var(--wine-soft)}
.job:hover{border-left-color:var(--wine)}
.job-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.job h3{margin:0;color:#302c2e}
.job .date{white-space:nowrap;font-size:11px;font-weight:700;color:var(--wine)}
.org{margin:2px 0 7px!important;color:var(--olive)!important;font-weight:700;font-size:12px}
ul.clean{margin:7px 0 0;padding-left:18px;color:#514b4e}
ul.clean li{margin:5px 0}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.project{padding:18px;border:1px solid var(--line);background:#fff}
.project .label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--wine);font-weight:700}
.project h3{margin:6px 0 7px;font-family:Georgia,serif;font-size:20px;color:#302b2e}
.project p{font-size:13px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tags span{padding:4px 7px;background:var(--wine-soft);color:var(--wine-dark);font-size:10px;font-weight:700}
.article{padding:16px 0;border-bottom:1px solid var(--line)}
.article:last-child{border-bottom:0}
.article time{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--wine)}
.article h3{font-family:Georgia,serif;font-size:20px;margin:3px 0 6px}
.contact-box{padding:20px;border:1px solid var(--line);background:#fbf9fa}
.contact-row{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #e7e1e3}
.contact-row:last-child{border-bottom:0}
.contact-row strong{color:var(--wine)}
footer{padding:14px 24px;background:#f5f2f3;border-top:1px solid var(--line);font-size:11px;color:#756e71;text-align:center}
@media(max-width:760px){
 body{padding:0;background:#fff}
 .site{border:0;box-shadow:none}
 .tabs{height:auto;padding:0;overflow-x:auto}
 .tabs a{padding:14px 13px;white-space:nowrap;font-size:12px}
 .layout{grid-template-columns:1fr}
 .sidebar{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:150px 1fr;gap:20px}
 .side-title{margin-top:0}
 .main{padding:24px 20px 38px}
 .namebar h1{font-size:31px}
 .ribbon{position:static;display:inline-block;margin-top:10px}
 .quick-grid,.project-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
 .sidebar{grid-template-columns:1fr}
 .photo{max-width:220px}
 .job-head{display:block}.job .date{display:block;margin-top:3px}
}
@media print{
 body{background:#fff;padding:0}.site{width:100%;box-shadow:none;border:0}.tabs{display:none}.layout{grid-template-columns:200px 1fr}.sidebar{background:#fff}.download{display:none}
}
