/* Home page */

/* HERO */
.hero{
  padding:36px 0 56px;
  border-bottom:1px solid var(--hair);
}
.hero p{
  font-family:var(--serif);
  font-size:clamp(26px,3.4vw,38px); line-height:1.22;
  font-variation-settings:"opsz" 96;
  font-weight:400; color:var(--ink);
  letter-spacing:-0.012em; margin:0;
}
.hero p em{
  font-style:italic; color:var(--accent);
  font-variation-settings:"opsz" 96;
}
.hero-cta{
  display:inline-block; margin-top:28px;
  font-family:var(--sans); font-size:14px; font-weight:500;
  color:var(--accent); text-decoration:none;
  letter-spacing:0.04em;
  border-bottom:1px solid var(--accent); padding-bottom:2px;
  transition:color .15s ease, border-color .15s ease;
}
.hero-cta:hover{ color:var(--ink); border-bottom-color:var(--ink); }

/* TWO-COLUMN BODY */
.landing-body{
  display:grid; grid-template-columns:1fr 340px;
  gap:80px; align-items:start;
  padding:56px 0 0;
}
.landing-main{min-width:0; max-width:860px;}
.landing-side{min-width:0;}

/* ABOUT */
.about{margin:0;}
.about-label{
  font-family:var(--sans); font-size:11.5px; font-weight:600;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--muted); margin:0 0 18px;
}
.about p{
  font-size:17px; line-height:1.65; color:var(--text);
  max-width:none; margin:0 0 18px;
}
.about p:last-child{margin-bottom:0;}
.about strong{color:var(--ink); font-weight:500;}
.about em{font-style:italic; color:var(--ink);}
.ref-link{color:inherit; text-decoration:none;}

/* SELECTED WORK (right column) */
.selected{margin:0;}
.selected-head{
  display:flex; align-items:baseline; gap:18px;
  padding-bottom:14px; margin:0 0 4px;
  border-bottom:1px solid var(--ink);
}
.selected-label{
  font-family:var(--sans); font-size:12px; font-weight:600;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--ink);
}
.sw-row{
  display:block;
  padding:22px 0;
  border-bottom:1px solid var(--hair);
  text-decoration:none; color:inherit;
  transition:background .15s ease;
}
.sw-row:last-of-type{border-bottom:none;}
.sw-row:hover{background:var(--paper-tint);}
.sw-row:hover .sw-title{color:var(--accent);}
.sw-eye{
  font-family:var(--sans); font-size:10.5px; font-weight:600;
  letter-spacing:0.16em; text-transform:uppercase;
  color:var(--muted); margin:0 0 6px;
}
.sw-eye em{font-style:italic; color:var(--muted); text-transform:none; letter-spacing:0;}
.sw-sep{color:var(--hint); margin:0 5px;}
.sw-title{
  font-family:var(--serif); font-weight:500; color:var(--ink);
  font-size:18px; line-height:1.25;
  font-variation-settings:"opsz" 36;
  letter-spacing:-0.005em;
  margin:0 0 8px;
  transition:color .15s ease;
}
.sw-find{
  font-family:var(--sans); font-size:13px; color:var(--text);
  line-height:1.5; margin:0;
}
.sw-find strong{color:var(--ink); font-weight:600;}
.sw-all{
  display:inline-block; margin-top:18px;
  font-family:var(--sans); font-size:12px; font-weight:500;
  letter-spacing:0.08em; text-transform:uppercase;
  color:var(--accent); text-decoration:none;
  border-bottom:1px solid var(--accent); padding-bottom:2px;
  transition:color .15s ease, border-color .15s ease;
}
.sw-all:hover{color:var(--ink); border-bottom-color:var(--ink);}

/* CONTACT */
.contact{margin:56px 0 0; padding:40px 0 0; border-top:1px solid var(--hair); text-align:center;}
.contact-label{font-family:var(--sans); font-size:11.5px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); margin:0 0 18px;}
.contact-lede{font-family:var(--serif); font-size:18px; line-height:1.6; color:var(--text); max-width:62ch; margin:0 auto 36px;}
.contact-lede a{color:var(--accent); text-decoration:none; border-bottom:1px solid var(--accent); padding-bottom:1px; transition:color .15s ease, border-color .15s ease;}
.contact-lede a:hover{color:var(--ink); border-bottom-color:var(--ink);}
.contact-form{display:grid; grid-template-columns:1fr 1fr; gap:18px 22px; max-width:780px; margin:0 auto; text-align:left;}
.contact-form label{display:flex; flex-direction:column; gap:6px; min-width:0;}
.contact-form label.full{grid-column:1 / -1;}
.field-label{font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted);}
.field-label .req{color:var(--accent); font-weight:600;}
.contact-form input, .contact-form textarea{
  font-family:var(--sans); font-size:14px; color:var(--ink);
  background:var(--paper-tint); border:1px solid var(--hair);
  padding:11px 13px; line-height:1.45; width:100%;
  border-radius:0; box-shadow:none; -webkit-appearance:none; appearance:none;
  transition:border-color .15s ease, background .15s ease;
}
.contact-form input::placeholder, .contact-form textarea::placeholder{color:var(--hint); font-style:italic;}
.contact-form input:focus, .contact-form textarea:focus{border-color:var(--accent); background:var(--paper);}
.contact-form textarea{min-height:140px; resize:vertical; font-family:var(--sans);}
.contact-send{
  grid-column:1 / -1; margin-top:6px;
  font-family:var(--sans); font-size:13.5px; font-weight:500; letter-spacing:0.08em;
  color:var(--paper); background:var(--accent); border:0; cursor:pointer;
  padding:14px 18px; text-transform:uppercase;
  transition:background .15s ease, color .15s ease;
}
.contact-send:hover{background:var(--ink);}
.contact-send:disabled{opacity:0.55; cursor:default;}
.contact-feedback{grid-column:1 / -1; margin:6px 0 0; font-family:var(--serif); font-size:17px; line-height:1.55; color:var(--text);}
.contact-feedback strong{color:var(--ink); font-weight:600;}
.contact-feedback.error{font-family:var(--sans); font-size:14px; color:var(--muted);}
.contact-feedback.error a{color:var(--accent); border-bottom:1px solid var(--accent); text-decoration:none;}

@media (max-width:880px){
  .landing-body{grid-template-columns:1fr; gap:64px;}
  .landing-side{order:2;}
}
@media (max-width:640px){
  .hero{padding:48px 0 40px;}
  .landing-body{padding-top:40px; gap:48px;}
  .contact{margin-top:64px; padding-top:40px;}
  .contact-form{grid-template-columns:1fr;}
  .contact-lede{margin-bottom:28px;}
}
