@font-face {
  font-family: 'Hanken Grotesk';
  src: url('./assets/fonts/hanken-grotesk-0.woff2') format('woff2');
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
}
:root {
  color-scheme: light;
  --paper: #fff;
  --ink: #161616;
  --secondary: #555;
  --rule: #dedede;
  font-family: 'Hanken Grotesk', Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
body { margin: 0; }
.page { width: min(1040px, calc(100% - 96px)); margin: 0 auto; padding: 32px 0; }
.site-header { display: flex; align-items: center; }
.brand { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.brand img { display: block; width: 148px; height: auto; }
.opening { margin: 42px 0 36px; }
h1 { font-size: clamp(46px, 6.3vw, 84px); line-height: 1.02; font-weight: 400; letter-spacing: -.035em; margin: 0 0 23px; }
.intro { max-width: 500px; margin: 0; color: var(--secondary); font-size: 16px; line-height: 1.55; text-wrap: pretty; }
.work { display: grid; grid-template-columns: 1fr .8fr 1.2fr; gap: 24px; max-width: 880px; }
h2 { font-size: 15px; line-height: 1.35; letter-spacing: -.01em; font-weight: 600; color: var(--ink); margin: 0 0 12px; }
.entries { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
a { color: inherit; text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--secondary); }
a:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; border-radius: 1px; }
.entries a { font-size: 16px; font-weight: 500; line-height: 1.35; }
.entries p { color: var(--secondary); font-size: 14px; line-height: 1.4; margin: 3px 0 0; text-wrap: pretty; }
.writing { gap: 12px; }
.writing a { font-size: 15px; font-weight: 400; }
.writing .more { display: inline-block; margin-top: 2px; font-size: 12px; }
footer { display: flex; align-items: center; gap: 24px; margin-top: 32px; font-size: 12px; color: var(--secondary); }
.careers-page { max-width: 740px; }
.careers-opening { margin-bottom: 40px; }
.letter, .work-invitation { font-size: 18px; line-height: 1.65; }
.letter p, .work-invitation p { margin: 0 0 1.25em; }
.letter p:first-child { font-size: 24px; line-height: 1.4; letter-spacing: -.015em; }
.work-invitation { border-top: 1px solid var(--rule); padding-top: 36px; margin-top: 48px; }
.work-invitation h2 { font-size: clamp(32px, 4vw, 44px); font-weight: 400; line-height: 1.1; letter-spacing: -.025em; margin-bottom: 24px; }
.application-link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 500; }
::selection { background: var(--ink); color: var(--paper); }
.skip-link { position: absolute; top: 12px; left: 16px; z-index: 1; background: var(--paper); padding: 10px 14px; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
@media (max-width: 760px) {
  .page { width: calc(100% - 56px); padding-top: 24px; }
  .opening { margin-top: 36px; margin-bottom: 32px; }
  h1 { font-size: clamp(42px, 7.2vw, 58px); }
  .work { gap: 20px; grid-template-columns: 1fr .8fr 1.2fr; }
}
@media (max-width: 600px) {
  .page { width: calc(100% - 44px); padding-top: 20px; padding-bottom: 28px; }
  .brand img { width: 136px; height: auto; }
  .opening { margin: 32px 0 28px; }
  h1 { font-size: clamp(40px, 10.9vw, 58px); line-height: 1.06; max-width: 11ch; margin-bottom: 21px; }
  .desktop-break { display: none; }
  .intro { font-size: 15px; max-width: 35ch; }
  .work { grid-template-columns: 1fr; gap: 20px; }
  .work section { border-top: 1px solid var(--rule); padding-top: 14px; }
  h2 { margin-bottom: 10px; }
  .entries { gap: 8px; }
  .entries p { max-width: 40ch; margin-top: 0; }
  .entries a { display: inline-block; padding: 9px 0 8px; margin-top: -7px; min-height: 38px; }
  .writing { gap: 6px; }
  .writing a { font-size: 15px; max-width: 36ch; }
  .writing .more { font-size: 13px; margin-top: 0; }
  footer { margin-top: 24px; }
  footer a { display: inline-block; padding: 12px 0; }
  .careers-opening { margin-bottom: 28px; }
  .letter, .work-invitation { font-size: 17px; line-height: 1.6; }
  .letter p:first-child { font-size: 21px; }
  .work-invitation { margin-top: 36px; padding-top: 28px; }
}
@media (pointer: coarse) {
  a { touch-action: manipulation; }
  .entries a { min-height: 44px; }
}
