@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-400.woff) format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-500.woff) format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-600.woff) format("woff")}
@font-face{font-family:"Lora";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/lora-400.woff) format("woff")}
@font-face{font-family:"Lora";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/lora-italic-400.woff) format("woff")}

:root{--bg:#14181F;--ink:#F7F8FA;--mute:#A3ABB8;--lab:#8E97A4;--faint:#8A93A0;--pad:clamp(24px,4.45vw,64px)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:1px solid var(--ink);outline-offset:6px}
h1,p,figure{margin:0}

.page{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;padding:38px var(--pad) 0}
main{flex:1;display:grid}

.logo{display:inline-flex;align-items:center;gap:14px;color:var(--ink)}
.logo .mark{display:block;flex:none;width:33.9px;height:30px}
.logo .word{font-size:17px;font-weight:600;letter-spacing:.16em;line-height:1;white-space:nowrap}

.nav{display:inline-flex;align-items:center;gap:14px;height:44px;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);justify-self:start;align-self:end}
.nav svg{flex:none;transition:transform .2s ease}
.nav:hover .arr-r{transform:translateX(4px)}
.nav:hover .arr-l{transform:translateX(-4px)}

.foot{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:0 0 51px}
.foot a{font-size:12.5px;line-height:1.5;letter-spacing:.01em;color:var(--lab)}
.foot a:hover{color:var(--ink)}
.foot span{font-size:11.5px;line-height:1.5;letter-spacing:.01em;color:var(--faint)}

/* home */
.home{grid-template-columns:minmax(0,min(620px,48%)) minmax(0,1fr);grid-template-rows:1fr auto;grid-template-areas:"s f" "n f";column-gap:48px;padding-bottom:clamp(20px,4.7vh,42px)}
.statement{grid-area:s;align-self:start;margin-top:clamp(24px,14vh,128px);font-size:clamp(30px,3.05vw,44px);line-height:1.16;font-weight:500;letter-spacing:-.025em;color:var(--ink)}
.statement .m{color:var(--mute)}
.home .nav{grid-area:n}
.fig{grid-area:f;display:flex;flex-direction:column;align-items:flex-end;min-width:0;margin-top:clamp(8px,4.5vh,41px)}
.art{display:block;width:100%;height:clamp(260px,calc(100vh - 300px),720px);height:clamp(260px,calc(100svh - 300px),720px);object-fit:contain;object-position:right top}
.cap{margin-top:22px;text-align:right;font-family:"Lora","Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:14.5px;line-height:1.5;letter-spacing:.005em;color:var(--mute)}
.cap span{display:block}

/* mission */
.mission{grid-template-columns:clamp(200px,23.3vw,336px) minmax(0,1fr);grid-template-rows:1fr auto;grid-template-areas:"l c" "n n";padding-bottom:clamp(20px,4.7vh,42px)}
.label{grid-area:l;margin-top:calc(clamp(24px,14vh,128px) + 8px);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--lab)}
.content{grid-area:c;margin-top:clamp(24px,14vh,128px)}
.title{max-width:900px;margin-bottom:40px;font-size:clamp(34px,3.61vw,52px);line-height:1.14;font-weight:500;letter-spacing:-.025em;text-wrap:balance}
.body{display:flex;flex-direction:column;gap:22px;max-width:780px;font-size:18px;line-height:1.6;color:var(--mute)}
.mission .nav{grid-area:n}

/* shorter laptop screens: tighten the mission page so it still fits without scrolling */
@media (min-width:761px) and (max-height:800px){
  .label{margin-top:calc(9vh + 8px)}
  .content{margin-top:9vh}
  .title{margin-bottom:28px}
  .body{gap:16px;font-size:16.5px;line-height:1.55}
}

/* not found */
.nf{grid-template-columns:1fr;grid-template-rows:1fr auto;padding-bottom:clamp(20px,4.7vh,42px)}
.nf .title{margin-top:clamp(24px,14vh,128px)}

/* stacked layout: tablets and phones */
@media (max-width:900px){
  .page{padding:26px var(--pad) 0}
  .logo{gap:11px}
  .logo .mark{width:27.1px;height:24px}
  .logo .word{font-size:13px}
  .nav{font-size:12px}
  .home{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"s" "f" "n";column-gap:0;padding-bottom:24px}
  .statement{margin-top:clamp(50px,9vw,96px);font-size:clamp(28px,5.2vw,42px);line-height:1.18;max-width:620px}
  .fig{margin-top:clamp(28px,5vw,48px);align-items:stretch}
  .art{align-self:center;width:clamp(224px,42vw,400px);max-width:100%;height:auto;aspect-ratio:672/665;object-fit:contain;object-position:center}
  .cap{margin-top:14px;text-align:center;font-size:13px}
  .home .nav{margin-top:20px}
  .mission{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"l" "c" "n";padding-bottom:24px}
  .label{margin-top:clamp(50px,9vw,96px);font-size:11px}
  .content{margin-top:13px}
  .title{margin-bottom:18px;font-size:clamp(26px,5vw,40px);line-height:1.2}
  .body{gap:14px;font-size:clamp(15px,2vw,17px);line-height:1.55;max-width:620px}
  .mission .nav{margin-top:24px}
}
@media (max-width:600px){
  .art{width:58%;max-width:224px}
  .cap{text-align:left;font-size:12.5px}
  .cap .eq{display:none}
  .foot{flex-direction:column;align-items:flex-start;gap:10px;padding-bottom:28px}
}
@media (prefers-reduced-motion:reduce){.nav svg{transition:none}}
