*, ::before, ::after { box-sizing: border-box; }body { margin: 0px; font: 16px / 1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: rgb(22, 24, 29); background: rgb(246, 247, 249); }a { color: rgb(31, 95, 214); }header.site { background: rgb(255, 255, 255); border-bottom: 1px solid rgb(227, 230, 234); }.bar { max-width: 960px; margin: 0px auto; padding: 14px 20px; display: flex; align-items: center; gap: 16px; }.brand { font-weight: 700; font-size: 18px; letter-spacing: -0.01em; text-decoration: none; color: rgb(22, 24, 29); }.brand span { display: block; font-weight: 400; font-size: 12px; color: rgb(107, 114, 128); }.spacer { flex: 1 1 0%; }main { max-width: 960px; margin: 0px auto; padding: 28px 20px 120px; }h1 { font-size: 24px; margin: 0px 0px 4px; letter-spacing: -0.02em; }h2 { font-size: 18px; margin: 0px 0px 12px; }.muted { color: rgb(107, 114, 128); }.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; margin-top: 20px; }.card { background: rgb(255, 255, 255); border: 1px solid rgb(227, 230, 234); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 8px; }.thumb { height: 110px; border-radius: 8px; }.name { font-weight: 600; }.price { font-variant-numeric: tabular-nums; font-weight: 600; }button, .btn { font: inherit; border-radius: 8px; border: 1px solid transparent; padding: 9px 14px; cursor: pointer; text-decoration: none; display: inline-block; text-align: center; }.primary { background: rgb(31, 95, 214); color: rgb(255, 255, 255); }.primary:hover { background: rgb(26, 81, 184); }.secondary { background: rgb(255, 255, 255); border-color: rgb(204, 210, 218); color: rgb(22, 24, 29); }.link { background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(31, 95, 214); padding: 0px; text-decoration: underline; }table { width: 100%; border-collapse: collapse; background: rgb(255, 255, 255); border: 1px solid rgb(227, 230, 234); border-radius: 10px; overflow: hidden; }th, td { padding: 12px 14px; text-align: left; border-bottom: 1px solid rgb(238, 240, 243); }tfoot td { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }.num { text-align: right; font-variant-numeric: tabular-nums; }.panel { background: rgb(255, 255, 255); border: 1px solid rgb(227, 230, 234); border-radius: 10px; padding: 18px; margin-top: 18px; }label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }input[type="text"] { width: 100%; padding: 9px 11px; border: 1px solid rgb(204, 210, 218); border-radius: 8px; font: inherit; background: rgb(255, 255, 255); }.row { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }.row > div { flex: 1 1 0%; min-width: 180px; }.error { color: rgb(180, 35, 24); font-size: 14px; margin-top: 8px; }.ok { color: rgb(6, 118, 71); font-size: 14px; margin-top: 8px; }.steps { display: flex; gap: 8px; font-size: 13px; color: rgb(107, 114, 128); margin-bottom: 18px; }.steps b { color: rgb(22, 24, 29); }.skeleton { height: 38px; border-radius: 8px; background: linear-gradient(90deg, rgb(238, 240, 243), rgb(227, 230, 234), rgb(238, 240, 243)); animation: 1.2s ease 0s infinite normal none running pulse; }@keyframes pulse {
  0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.7; }
}#cookie-banner { position: fixed; left: 0px; right: 0px; bottom: 0px; z-index: 9000; background: rgb(17, 20, 24); color: rgb(244, 245, 247); padding: 22px 20px; box-shadow: rgba(0, 0, 0, 0.25) 0px -8px 30px; }#cookie-banner .inner { max-width: 960px; margin: 0px auto; display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }#cookie-banner p { margin: 0px; flex: 1 1 0%; min-width: 240px; font-size: 14px; }#cookie-banner strong { display: block; margin-bottom: 2px; }#modal-backdrop { position: fixed; inset: 0px; z-index: 9500; background: rgba(11, 13, 16, 0.55); display: flex; align-items: center; justify-content: center; padding: 20px; }#modal { background: rgb(255, 255, 255); border-radius: 12px; max-width: 420px; width: 100%; padding: 24px; position: relative; box-shadow: rgba(0, 0, 0, 0.3) 0px 20px 60px; }#modal-close { position: absolute; top: 10px; right: 10px; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; font-size: 22px; line-height: 1; cursor: pointer; color: rgb(107, 114, 128); padding: 6px 10px; }.expired { max-width: 460px; margin: 60px auto; text-align: center; }@media (max-width: 620px) {
  .bar, main { padding-left: 14px; padding-right: 14px; }
  .grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  th, td { padding: 10px; }
}

background:linear-gradient(135deg,hsl(210 70% 62%),hsl(250 70% 45%))

background:linear-gradient(135deg,hsl(265 70% 62%),hsl(305 70% 45%))

background:linear-gradient(135deg,hsl(40 70% 62%),hsl(80 70% 45%))

background:linear-gradient(135deg,hsl(150 70% 62%),hsl(190 70% 45%))

Join the newsletter and get 10% off your next order.


Ada Lovelace


London


Check the details below, then place your order.