/* Approved editorial homepage. Design studies retain designs.css. */
:root {
  --paper:#f5f3ec;
  --ink:#242b29;
  --muted:#666b65;
  --line:#d4d6cd;
  --accent:#ad3e21;
  --orange:#ee895d;
  --surface:#e9eae2;
  --font:'Avenir Next',Avenir,'Segoe UI',sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font);
  font-size:16px;
  -webkit-font-smoothing:antialiased
}
::selection {
  background:#f4b398;
  color:var(--ink)
}
a {
  color:inherit
}
button {
  font:inherit
}
a,button {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:6px
}
.wrap {
  width:min(1136px,calc(100% - 112px));
  margin:auto
}
.skip {
  position:fixed;
  top:-80px;
  left:20px;
  z-index:20;
  padding:15px;
  background:var(--ink);
  color:var(--paper)
}
.skip:focus {
  top:12px
}
.topbar {
  background:var(--paper);
  position:sticky;
  top:0;
  z-index:10
}
.topbar-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:84px;
  border-bottom:1px solid var(--line)
}
.wordmark {
  font-size:23px;
  font-weight:700;
  letter-spacing:-1.3px;
  text-decoration:none
}
.wordmark span {
  color:var(--accent)
}
nav {
  display:flex;
  align-items:center;
  gap:30px
}
nav a {
  font-size:12px;
  font-weight:600;
  text-decoration:none;
  position:relative;
  padding:12px 0
}
nav a:after {
  position:absolute;
  content:'';
  height:2px;
  bottom:5px;
  left:0;
  right:100%;
  background:var(--accent);
  transition:right .2s
}
nav a:hover:after,nav a[aria-current]:after {
  right:0
}
.progress {
  position:absolute;
  bottom:0;
  left:0;
  height:2px;
  background:var(--accent);
  width:0;
  pointer-events:none
}
.eyebrow {
  font-size:10px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:1.8px;
  line-height:1.8
}
.hero {
  padding-top:65px
}
.intro-heading {
  display:grid;
  grid-template-columns:1fr 252px;
  gap:40px;
  align-items:center
}
.hero .eyebrow {
  color:var(--accent);
  margin:0 0 22px
}
h1 {
  font-size:clamp(60px,7.7vw,102px);
  font-family:'HK Grotesk',Arial,Helvetica,sans-serif;
  font-weight:700;
  letter-spacing:-.068em;
  line-height:.9;
  margin:0
}
h1 span {
  display:block
}
h1 .surname {
  font:inherit;
  letter-spacing:inherit
}
.portrait {
  margin:0;
  position:relative
}
.portrait img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1;
  border-radius:50%;
  object-fit:cover;
  object-position:50% 35%
}
.bio {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px;
  margin:49px 0 32px
}
.bio p {
  margin:0;
  font-size:15px;
  line-height:1.85;
  max-width:65ch
}
.bio a,.services a {
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  transition:color .2s
}
.bio a:hover {
  color:var(--accent)
}
.previous {
  display:flex;
  align-items:center;
  gap:24px;
  padding:23px 0;
  border-top:1px solid var(--line);
  font-size:16px;
  color:var(--muted)
}
.previous .eyebrow {
  font-size:12px;
  color:var(--muted);
  margin:0
}
.section {
  padding:75px 0 0
}
.section-head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  border-top:1px solid var(--ink);
  padding-top:20px;
  margin-bottom:29px
}
.section-title {
  display:flex;
  align-items:baseline;
  gap:16px
}
.section-number {
  font-size:10px;
  color:var(--accent);
  font-variant-numeric:tabular-nums
}
h2 {
  font-size:25px;
  font-weight:500;
  letter-spacing:-.8px;
  margin:0
}
.featured {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:18px;
  margin-bottom:24px
}
.feature {
  display:flex;
  flex-direction:column;
  position:relative;
  min-height:232px;
  padding:27px 30px;
  text-decoration:none;
  background:var(--surface);
  overflow:hidden;
  transition:background .25s
}
.feature.primary {
  background:var(--ink);
  color:var(--paper)
}
.feature .eyebrow {
  font-size:9px;
  letter-spacing:1.4px;
  opacity:.8;
  margin:0
}
.feature h3 {
  font-family:Georgia,'Times New Roman',serif;
  font-size:36px;
  font-weight:400;
  letter-spacing:-1px;
  margin:30px 0 6px;
  line-height:1.15
}
.feature.primary h3 em {
  color:#f1a17a;
  font-weight:400
}
.feature p {
  font-size:11px;
  color:var(--muted);
  margin:6px 0 0
}
.feature.primary p {
  color:#bfc5bd
}
.feature .arrow {
  position:absolute;
  right:27px;
  bottom:28px;
  font-size:25px;
  color:var(--accent);
  transition:transform .2s
}
.feature.primary .arrow {
  color:#f1a17a
}
.feature:hover {
  background:#dddfd4
}
.feature.primary:hover {
  background:#34413c
}
.feature:hover .arrow {
  transform:translate(3px,-3px)
}
.feature .year {
  font-size:10px;
  position:absolute;
  right:30px;
  top:30px;
  opacity:.7
}
.work-list,.writing-list,.socials {
  list-style:none;
  margin:0;
  padding:0
}
.work-list a {
  display:grid;
  grid-template-columns:125px 1fr 24px;
  gap:20px;
  align-items:center;
  min-height:74px;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  padding:17px 3px;
  transition:padding .2s,color .2s
}
.work-list a:hover {
  padding-left:10px;
  color:var(--accent)
}
.type {
  font-size:10px;
  color:var(--muted);
  line-height:1.7
}
.work-title {
  font-size:16px;
  font-weight:500;
  letter-spacing:-.3px
}
.arrow {
  display:inline-block;
  width:1em;
  height:1em;
  flex-shrink:0;
  vertical-align:-.125em
}
.work-list .arrow {
  font-size:22px;
  color:var(--muted)
}
.work-detail {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-top:5px;
  font-weight:400;
  letter-spacing:0
}
.writing-list a {
  display:grid;
  grid-template-columns:125px 1fr 24px;
  gap:20px;
  border-bottom:1px solid var(--line);
  padding:26px 3px;
  text-decoration:none;
  align-items:baseline;
  transition:color .2s
}
.writing-list a:hover {
  color:var(--accent)
}
.writing-list time {
  font-size:10px;
  color:var(--muted);
  white-space:nowrap
}
.writing-list h3 {
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:25px;
  line-height:1.35;
  letter-spacing:-.5px;
  margin:0;
  max-width:33ch
}
.writing-list .arrow {
  color:var(--muted);
  font-size:22px
}
.services {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px
}
.services article+article {
  border-left:1px solid var(--line);
  padding-left:40px
}
.services h3 {
  font-size:21px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:-.5px;
  margin:0 0 20px;
  max-width:22ch
}
.services p {
  font-size:14px;
  line-height:1.9;
  color:var(--muted);
  margin:0
}
.contact {
  margin-top:85px;
  padding:39px 0 31px;
  background:var(--ink);
  color:var(--paper)
}
.contact .section-head {
  border-color:#68716a;
  padding-top:21px;
  margin-bottom:44px
}
.contact .section-number {
  color:#f1a17a
}
.contact-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding-bottom:41px
}
.email {
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(42px,6vw,76px);
  font-weight:400;
  letter-spacing:-3px;
  text-decoration:none;
  line-height:1.2
}
.email:hover {
  color:#f1a17a
}
.socials {
  display:flex;
  flex-wrap:wrap;
  gap:29px;
  border-top:1px solid #58635c;
  padding-top:23px
}
.socials a {
  font-size:16px;
  text-decoration:none
}
.socials a:hover {
  color:#f1a17a
}
.socials .arrow {
  margin-left:7px;
  color:#f1a17a
}
.footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:27px 0 35px;
  font-size:10px;
  color:var(--muted)
}
.footer p {
  margin:0;
  line-height:1.8
}
@media(min-width:1440px) {
  .hero {
    padding-top:85px
  }
  .intro-heading {
    grid-template-columns:1fr 272px
  }
  .portrait img {
    height:auto
  }
  h1 {
    font-size:112px
  }
}
@media(max-width:900px) {
  .wrap {
    width:calc(100% - 64px)
  }
  .intro-heading {
    grid-template-columns:1fr 205px;
    gap:30px
  }
  h1 {
    font-size:70px;
    letter-spacing:-4px
  }
  h1 .surname {
    letter-spacing:-4px
  }
  .portrait img {
    height:auto
  }
  .bio {
    gap:32px
  }
  .bio p {
    font-size:14px
  }
  .services {
    gap:32px
  }
  .services article+article {
    padding-left:28px
  }
}
@media(max-width:650px) {
  html {
    scroll-padding-top:90px
  }
  .wrap {
    width:calc(100% - 40px)
  }
  .topbar-inner {
    height:72px
  }
  .wordmark {
    font-size:21px
  }
  nav {
    gap:17px
  }
  nav a {
    font-size:10px
  }
  nav .consulting-nav {
    display:none
  }
  .hero {
    padding-top:37px
  }
  .intro-heading {
    grid-template-columns:1fr;
    gap:30px
  }
  .hero .eyebrow {
    font-size:9px;
    letter-spacing:1.3px;
    margin-bottom:22px
  }
  h1 {
    font-size:clamp(49px,12.5vw,80px);
    letter-spacing:-3px;
    line-height:1.04;
    margin-bottom:0
  }
  h1 .surname {
    letter-spacing:-3px
  }
  .portrait {
    display:flex;
    align-items:center;
    gap:17px
  }
  .portrait img {
    width:96px;
    height:96px;
    object-position:50% 30%
  }
  .bio {
    grid-template-columns:1fr;
    gap:23px;
    margin-top:29px;
    margin-bottom:25px
  }
  .bio p {
    font-size:14px;
    line-height:1.9
  }
  .previous {
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
    line-height:1.8;
    font-size:14px
  }
  .previous .eyebrow {
    margin:0
  }
  .section {
    padding-top:47px
  }
  .section-head {
    margin-bottom:23px;
    padding-top:18px
  }
  h2 {
    font-size:23px
  }
  .section-title {
    gap:11px
  }
  .featured {
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:6px
  }
  .feature {
    min-height:205px;
    padding:25px
  }
  .feature .arrow {
    right:25px;
    font-size:22px
  }
  .feature h3 {
    font-size:34px;
    margin-top:31px
  }
  .work-list a {
    grid-template-columns:minmax(0,1fr) 22px;
    gap:5px;
    padding:21px 25px 21px 0
  }
  .work-list .type {
    grid-column:1;
    font-size:9px
  }
  .work-list .work-title {
    grid-column:1;
    font-size:15px
  }
  .work-list .arrow {
    grid-column:2;
    grid-row:1/3
  }
  .writing-list a {
    grid-template-columns:minmax(0,1fr) 22px;
    gap:12px;
    padding:23px 25px 23px 0
  }
  .writing-list time {
    grid-column:1
  }
  .writing-list h3 {
    grid-column:1;
    font-size:23px
  }
  .writing-list .arrow {
    grid-column:2;
    grid-row:2
  }
  .services {
    grid-template-columns:1fr;
    gap:29px
  }
  .services article+article {
    border-left:0;
    border-top:1px solid var(--line);
    padding:28px 0 0
  }
  .services h3 {
    max-width:none;
    font-size:21px;
    margin-bottom:14px
  }
  .contact {
    margin-top:54px;
    padding-top:28px
  }
  .contact .section-head {
    margin-bottom:32px
  }
  .contact-row {
    align-items:flex-start;
    flex-direction:column;
    gap:22px;
    padding-bottom:30px
  }
  .email {
    font-size:clamp(42px,10.5vw,62px);
    letter-spacing:-2px
  }
  .socials {
    gap:20px 25px
  }
  .socials a {
    display:inline-block;
    min-height:30px
  }
  .footer {
    font-size:9px;
    align-items:flex-start;
    padding-top:23px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}
@media print {
  .topbar,.copy,.progress,.wrap {
    width:100%
  }
  .hero,.section {
    padding-top:24px
  }
  .contact {
    margin-top:30px
  }
  a {
    text-decoration:none
  }
  .portrait img {
    max-height:160px
  }
  .feature,.services article {
    break-inside:avoid
  }
}
