:root{
  --bg:#ffffff;
  --ink:#5e0404;
  --ink-soft:#5B6673;
  --line:#E4E1D8;
  --accent:#5e0404;
  --panel:#F6F5F1;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; scrollbar-gutter: stable;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  line-height:1.6;
}
a{color:inherit;}
.wrap{max-width:1100px; margin:0 auto; padding:0 32px;}
.wrapbar{max-width:100%; margin:0 auto; padding:0 32px;}
.wrap-wide{max-width:1200px; margin:0 auto; padding:0 32px;}

header{
  display:flex; justify-content:space-between; align-items:center;
  padding:22px 0; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:100; background:var(--bg);
}
.brand{font-family:'Newsreader', serif; font-weight:500; font-size:15px; letter-spacing:0.02em; text-decoration:none;}
.brand-subtitle{
  font-family:'Inter', sans-serif; font-size:10.5px; font-weight:600;
  text-transform:uppercase; letter-spacing:0.07em; color:var(--accent);
}
nav{display:flex; gap:30px; font-size:14px;}
nav a{text-decoration:none; color:var(--ink-soft); transition:color .15s;}
nav a:hover, nav a.active{color:var(--ink);}

.hero{
  display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px;
  align-items:center; padding:80px 0 96px;
}
@media (max-width:860px){ .hero{grid-template-columns:1fr; padding:48px 0;} }
.eyebrow{
  font-size:12.5px; text-transform:uppercase; letter-spacing:0.1em;
  color:var(--accent); font-weight:600; margin-bottom:14px;
}
h1{
  font-family:'Newsreader', serif; font-weight:500;
  font-size:clamp(2.2rem, 4.4vw, 3.2rem); line-height:1.08; margin:0 0 20px;
}
.hero{
  display:grid; grid-template-columns:0.55fr 1.35fr; gap:56px;
  align-items:center; padding:80px 0 96px;
}
.cta-row{display:flex; gap:14px; flex-wrap:wrap;}
.btn{
  font-size:13.5px; font-weight:500; text-decoration:none;
  padding:11px 20px; border-radius:3px; border:1px solid var(--ink);
  transition:background .15s, color .15s; display:inline-block;
}
.btn.solid{background:var(--ink); color:#fff;}
.btn.solid:hover{background:var(--accent); border-color:var(--accent);}
.btn.ghost:hover{background:var(--panel);}

.portrait{
  aspect-ratio:1/1; background:var(--panel); border:1px solid var(--line);
  border-radius:4px; display:flex; align-items:center; justify-content:center;
  color:var(--ink-soft); font-size:12.5px; text-align:center; padding:20px;
  overflow:hidden; max-width:260px; margin:1em;
}
.portrait img{
  width:120%; height:120%; object-fit:cover; display:block;
}

section{padding:64px 0; border-top:1px solid var(--line);}
section.no-border{border-top:none;}
.page-head{padding:64px 0 12px;}
.page-head p{font-size:1rem; color:var(--ink-soft); max-width:60ch;}
.section-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:36px; flex-wrap:wrap; gap:10px;}
.section-head h2{font-family:'Newsreader', serif; font-weight:500; font-size:1.7rem; margin:0;}
.section-head a{font-size:13px; color:var(--accent); text-decoration:none; font-weight:500;}
.section-head a:hover{text-decoration:underline;}

.presen-list{display:grid; grid-template-columns:1fr 1fr; gap:0 40px;}
@media (max-width:700px){ .presen-list{grid-template-columns:1fr;} }
.presen{
  display:grid; grid-template-columns:1fr auto; gap:6px 20px;
  padding:20px 0; border-bottom:1px solid var(--line);
}
.presen:nth-child(-n+2){padding-top:0;}
.presen-title{font-size:.75rem; font-weight:500;}
.presen-meta{font-size:10px; color:var(--ink-soft);}
.presen-year{
  font-size:10px; color:var(--accent); font-weight:600;
  white-space:nowrap; align-self:start;
}

.project-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
@media (max-width:860px){ .project-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .project-grid{grid-template-columns:1fr;} }
.project-card{
  border:1px solid var(--line); border-radius:4px; padding:22px;
  display:flex; flex-direction:column; gap:8px; transition:border-color .15s, transform .15s;
  text-decoration:none; color:inherit;
}
.project-card:hover{border-color:var(--accent); transform:translateY(-2px);}
.project-tag{font-size:9px; text-transform:uppercase; letter-spacing:0.06em; color:var(--accent); font-weight:600;}
.project-card h3{font-family:'Newsreader', serif; font-weight:500; font-size:1.1rem; margin:0;}
.project-card p{font-size:13px; color:var(--ink-soft); margin:0;}

.stats{display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; text-align:center;}
@media (max-width:700px){ .stats{grid-template-columns:1fr 1fr;} }
.stat-num{font-family:'Newsreader', serif; font-size:2.4rem; color:var(--accent);}
.stat-label{font-size:12px; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-soft); margin-top:4px;}

.about-text{max-width:auto; font-size:1rem; color:var(--ink-soft);}
.about-text p{margin-bottom:16px;}

.note{font-size:12px; color:var(--ink-soft); margin-top:20px;}

footer{border-top:1px solid var(--line); padding:48px 0 60px;}
.footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr; gap:32px; margin-bottom:32px;}
@media (max-width:700px){ .footer-grid{grid-template-columns:1fr;} }
footer h4{font-size:12px; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-soft); margin-bottom:12px;}
footer ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; font-size:13.5px;}
footer ul a{text-decoration:none; color:var(--ink);}
footer ul a:hover{color:var(--accent);}
.footer-bottom{font-size:12.5px; color:var(--ink-soft); border-top:1px solid var(--line); padding-top:20px;}
