/* Shared styling for the standalone pages (404, legal). The portfolio itself
   is one JS-rendered document; these are plain HTML so they work on their own. */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;
  src:url("/fonts/playfair-display-latin.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300 700;font-display:swap;
  src:url("/fonts/montserrat-latin.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --ink-900:#0d1b2a; --ink-700:#243b53; --ink-500:#546a80; --ink-400:#8497ab;
  --blush-300:#8fb6d9; --blush-600:#154d86; --line:#dde6ef; --line-strong:#c2d2e0;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:#fff;color:var(--ink-900);
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,sans-serif;
  display:flex;flex-direction:column;min-height:100svh;}
a{color:var(--ink-900);}
a:hover{color:var(--blush-600);}

.bar{border-bottom:1px solid var(--line);padding:18px 22px;}
.bar img{height:34px;width:auto;display:block;}
.wrap{flex:1;width:100%;max-width:760px;margin:0 auto;padding:56px 22px 80px;}

h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.1;
  font-size:clamp(32px,7vw,52px);margin-bottom:10px;}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--blush-600);margin-bottom:14px;}
.updated{font-size:13px;color:var(--ink-400);margin-bottom:38px;}
h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(21px,4.4vw,27px);
  margin:36px 0 12px;}
p{font-size:16px;line-height:1.7;color:var(--ink-500);margin-bottom:14px;text-wrap:pretty;}
p strong{color:var(--ink-700);}
ul{margin:0 0 14px 20px;}
li{font-size:16px;line-height:1.7;color:var(--ink-500);margin-bottom:6px;}

.links{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px;}
.links a{display:flex;align-items:center;min-height:48px;padding:0 24px;border-radius:8px;
  border:1px solid var(--line-strong);font-size:12px;font-weight:700;letter-spacing:0.08em;
  text-transform:uppercase;text-decoration:none;}
.links a:first-child{background:var(--blush-300);border-color:var(--blush-300);}

.foot{border-top:1px solid var(--line);padding:26px 22px;font-size:12px;color:var(--ink-400);
  display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;}
.foot a{color:var(--ink-400);}

/* 404 only */
.center{text-align:center;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:18px;}
.center p{max-width:34ch;}
.num{font-family:'Playfair Display',Georgia,serif;font-size:clamp(64px,16vw,120px);
  line-height:1;color:var(--blush-300);}
.center .links{justify-content:center;}
