:root{
  --bg:#f8f6f2;
  --text:#0b0b0b;
  --muted:#77716a;
  --line:#d3ccc2;
  --dark:#111;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:-0.01em;
}
a{color:inherit;text-decoration:none}
.site-header{
  position:sticky;top:0;z-index:10;
  display:flex;justify-content:space-between;align-items:center;
  padding:18px clamp(20px,5vw,72px);
  background:rgba(248,246,242,.88);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.brand{font-size:20px;font-weight:600;letter-spacing:-.035em;text-transform:lowercase}
nav{display:flex;gap:24px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.16em}
nav a:hover{color:var(--text)}
.section{padding:clamp(54px,7vw,88px) clamp(20px,5vw,72px)}
.hero{
  min-height:70vh;
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:44px;
  align-items:center;
  border-bottom:1px solid var(--line);
}
.hero-copy{max-width:820px}
.eyebrow{margin:0 0 18px;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}
.mobile-line{font-size:12px;color:#4d4740;letter-spacing:.24em;margin-bottom:18px}
h1{
  font-size:clamp(58px,9.5vw,124px);
  line-height:.86;
  margin:0;
  font-weight:520;
  letter-spacing:-.075em;
  text-transform:uppercase;
}
.hero-service{
  margin:22px 0 0;
  font-size:clamp(18px,2vw,28px);
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#1d1a17;
}
.tagline{
  font-size:12px;
  line-height:1.3;
  margin:18px 0 0;
  color:var(--muted);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:34px}
.button{display:inline-block;width:max-content;background:var(--dark);color:var(--bg);border:1px solid var(--dark);padding:14px 20px;font-size:11px;text-transform:uppercase;letter-spacing:.15em}
.button:hover{background:transparent;color:var(--text)}
.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid var(--text);padding-bottom:5px}
.hero-panel{align-self:end;border:1px solid var(--line);background:rgba(255,255,255,.22);margin-bottom:18px}
.hero-panel div{display:flex;justify-content:space-between;gap:24px;padding:15px 18px;border-bottom:1px solid var(--line);font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.hero-panel div:last-child{border-bottom:0}.hero-panel span{color:var(--muted);font-size:10px;letter-spacing:.16em}
.section-title{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:32px}
.section-title h2{margin:0;font-size:clamp(28px,3.7vw,52px);line-height:.96;font-weight:520;letter-spacing:-.055em;text-transform:uppercase}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:960px;margin:0 auto}
figure{margin:0;background:#ebe6de;border:1px solid var(--line);overflow:hidden}
figure img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;filter:saturate(.98) contrast(1.02);transition:transform .35s ease}
figure:hover img{transform:scale(1.025)}
figure.wide{grid-column:span 1}figure.wide img{aspect-ratio:4/3}
figcaption{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;font-size:12px;font-weight:600;background:var(--bg);border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em}
figcaption small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:500;text-align:right}
.no-caption{background:transparent}
.no-caption img{border:0}
.service-list{border-top:1px solid var(--line)}
.service-list article{display:grid;grid-template-columns:64px 240px 1fr;gap:28px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}
.service-list span{font-size:11px;color:var(--muted);letter-spacing:.16em}.service-list h3{font-size:26px;line-height:1;margin:0;letter-spacing:-.045em}.service-list p,.about p{margin:0;max-width:760px;font-size:18px;line-height:1.45;color:#332f2b}
.contact-card{display:grid;gap:0;border-top:1px solid var(--line);max-width:820px}.contact-card a{padding:22px 0;border-bottom:1px solid var(--line);font-size:24px;font-weight:520;letter-spacing:-.045em}.contact-card a:hover{color:var(--muted)}
@media(max-width:980px){
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
}
@media(max-width:820px){
  .site-header{padding:18px 20px}.brand{font-size:19px}nav{gap:14px;font-size:10px}
  .hero{grid-template-columns:1fr;min-height:68vh}.hero-panel{align-self:auto;margin-bottom:0}.hero-panel div{font-size:12px}
  .section-title{grid-template-columns:1fr;gap:6px}.work-grid{grid-template-columns:1fr;max-width:420px}figure.wide{grid-column:auto}figure.wide img{aspect-ratio:4/3}
  .service-list article{grid-template-columns:1fr;gap:12px}.service-list p,.about p{font-size:17px}.contact-card a{font-size:22px}
}
