/* ==========================================================================
   The Tailwind utilities jackknife.co actually uses, written out.

   The site used to load https://cdn.tailwindcss.com, which prints "should not
   be used in production" in every visitor's console and, worse, ships a CSS
   compiler to the browser and builds the stylesheet on every page load.

   There is no build step on this site (see deploy-marketing.yml, which is
   deliberately just an upload), so this file is maintained by hand. It is a
   subset, not Tailwind: only the classes below exist. ADDING A TAILWIND CLASS
   TO A PAGE WITHOUT ADDING IT HERE WILL SILENTLY DO NOTHING.

   Prefer styles/site.css and per-page <style> blocks for anything new.
   ========================================================================== */

/* ---------- Reset ------------------------------------------------------- */
/* Tailwind's preflight came with the CDN build and several pages leaned on it.
   The parts that were load-bearing: the border reset (so border-t only has to
   set a width), the margin reset, and the block-level image default. */

*, *::before, *::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: currentColor;
}

html {
  -webkit-text-size-adjust: 100%;
  line-height: 1.5;
  font-family: Inter, system-ui, sans-serif;
}

body { margin: 0; line-height: inherit; }

h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0; }

p, figure, blockquote, dl, dd, hr, pre { margin: 0; }

ul, ol { margin: 0; padding: 0; list-style: none; }

a { color: inherit; text-decoration: inherit; }

img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }

img, video { max-width: 100%; height: auto; }

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}

button { background-color: transparent; background-image: none; cursor: pointer; }

hr { height: 0; color: inherit; border-top-width: 1px; }

/* ---------- Utilities --------------------------------------------------- */

.absolute { position:absolute; }
.relative { position:relative; }
.fixed { position:fixed; }
.inset-0 { inset:0; }
.inset-x-0 { left:0;right:0; }
.top-9 { top:2.25rem; }
.bottom-0 { bottom:0; }
.left-0 { left:0; }
.right-0 { right:0; }
.-bottom-20 { bottom:-5rem; }
.-right-20 { right:-5rem; }
.z-10 { z-index:10; }
.z-40 { z-index:40; }
.flex { display:flex; }
.hidden { display:none; }
.items-center { align-items:center; }
.items-end { align-items:flex-end; }
.justify-between { justify-content:space-between; }
.justify-center { justify-content:center; }
.w-full { width:100%; }
.w-96 { width:24rem; }
.h-full { height:100%; }
.h-9 { height:2.25rem; }
.h-96 { height:24rem; }
.max-w-7xl { max-width:80rem; }
.mx-auto { margin-left:auto;margin-right:auto; }
.pb-1 { padding-bottom:0.25rem; }
.pb-16 { padding-bottom:4rem; }
.px-6 { padding-left:1.5rem;padding-right:1.5rem; }
.py-3 { padding-top:0.75rem;padding-bottom:0.75rem; }
.font-headline { font-family:Montserrat,system-ui,sans-serif; }
.font-body { font-family:Inter,system-ui,sans-serif; }
.font-bold { font-weight:700; }
.font-extrabold { font-weight:800; }
.text-xs { font-size:0.75rem;line-height:1rem; }
.text-sm { font-size:0.875rem;line-height:1.25rem; }
.text-\[8px\] { font-size:8px; }
.text-center { text-align:center; }
.uppercase { text-transform:uppercase; }
.leading-tight { line-height:1.25; }
.tracking-tight { letter-spacing:-0.025em; }
.tracking-wide { letter-spacing:0.025em; }
.tracking-\[1px\] { letter-spacing:1px; }
.antialiased { -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale; }
.text-white { color:#ffffff; }
.text-\[\#0a4a5c\] { color:#0a4a5c; }
.text-\[\#111827\] { color:#111827; }
.text-\[\#9ca3af\] { color:#9ca3af; }
.text-on-surface { color:#111827; }
.text-on-surface-variant { color:#4b5563; }
.bg-white { background-color:#ffffff; }
.bg-white\/90 { background-color:rgba(255,255,255,0.9); }
.bg-surface { background-color:#f0f8fa; }
.bg-\[\#063340\] { background-color:#063340; }
.bg-\[\#f0f8fa\] { background-color:#f0f8fa; }
.bg-\[\#f5f7f8\] { background-color:#f5f7f8; }
.border-white { border-color:#ffffff; }
.border-on-surface\/5 { border-color:rgba(17,24,39,0.05); }
.border-t { border-top-width:1px; }
.border-\[40px\] { border-width:40px; }
.rounded-full { border-radius:9999px; }
.rounded-\[20px\] { border-radius:20px; }
.rounded-\[28px\] { border-radius:28px; }
.shadow-\[0_24px_80px_rgba\(6\,51\,64\,0\.2\)\,0_8px_24px_rgba\(6\,51\,64\,0\.1\)\] { box-shadow:0 24px 80px rgba(6,51,64,0.2),0 8px 24px rgba(6,51,64,0.1); }
.opacity-10 { opacity:0.1; }
.overflow-hidden { overflow:hidden; }
.backdrop-blur-lg { backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px); }
.pointer-events-none { pointer-events:none; }
.scroll-smooth { scroll-behavior:smooth; }

/* Selection colours are applied from a class on <body>. */
.selection\:bg-primary-container *::selection { background-color: #4ea3ba; }
.selection\:bg-primary-container::selection { background-color: #4ea3ba; }
.selection\:text-on-primary-container *::selection { color: #f0f8fa; }
.selection\:text-on-primary-container::selection { color: #f0f8fa; }

@media (min-width: 640px) {
  .sm\:block { display:block; }
}

@media (min-width: 768px) {
  .md\:pb-8 { padding-bottom:2rem; }
}

@media (min-width: 1024px) {
  .lg\:block { display:block; }
}

/* ---------- Added for sms-signup.html ----------------------------------- */
/* This page arrived from the www repo in PR #3415 still carrying
   cdn.tailwindcss.com, which P5 had already removed from every other page, so
   it was the only page left shipping a CSS compiler to visitors. Converting it
   needed these. Arbitrary-value classes (the bracket ones) are written out
   literally because there is no compiler here to generate them. */

.flex-col        { flex-direction: column; }
.flex-wrap       { flex-wrap: wrap; }
.md\:flex-row    { }
@media (min-width: 768px) { .md\:flex-row { flex-direction: row; } }

.gap-3           { gap: 0.75rem; }
.gap-6           { gap: 1.5rem; }
.gap-8           { gap: 2rem; }
@media (min-width: 640px) { .sm\:gap-8 { gap: 2rem; } }

.px-4            { padding-left: 1rem;   padding-right: 1rem; }
.px-12           { padding-left: 3rem;   padding-right: 3rem; }
.py-4            { padding-top: 1rem;    padding-bottom: 1rem; }
.pt-10           { padding-top: 2.5rem; }
.pb-12           { padding-bottom: 3rem; }
@media (min-width: 640px) { .sm\:px-8 { padding-left: 2rem; padding-right: 2rem; } }

.font-black      { font-weight: 900; }
.font-semibold   { font-weight: 600; }
.font-label      { font-family: Poppins, sans-serif; }
.text-2xl        { font-size: 1.5rem; line-height: 2rem; }
@media (min-width: 640px) { .sm\:text-sm { font-size: 0.875rem; line-height: 1.25rem; } }
.tracking-tighter { letter-spacing: -0.05em; }
.whitespace-nowrap { white-space: nowrap; }

.top-0           { top: 0; }
.z-50            { z-index: 50; }
.select-none     { user-select: none; -webkit-user-select: none; }
.shadow-sm       { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); }
.backdrop-blur-xl { backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
.transition-colors {
  transition-property: color, background-color, border-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

/* Arbitrary values. These were the CDN config's named colors: primary
   #00A385, surface #f0f8fa, on-surface #111827. */
.text-\[\#00a385\]     { color: #00a385; }
.text-\[\#d1d5db\]     { color: #d1d5db; }
.text-\[\#111827\]\/70 { color: rgba(17, 24, 39, 0.7); }
.bg-\[\#f0f8fa\]\/70   { background-color: rgba(240, 248, 250, 0.7); }
.hover\:text-white:hover        { color: #ffffff; }
.hover\:text-\[\#00A385\]:hover { color: #00a385; }
