/*
 * The public site's one stylesheet, linked by name from layouts/site only. It lives in lib/assets, not
 * app/assets, because the app's layout links every CSS file under app/assets (stylesheet_link_tag :app),
 * and the site must not load into the signed-in app (nor the app's Tailwind build into the site).
 * Fonts are the app's own files, by bare filename (as app/assets/tailwind/application.css does).
 */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/InterVariable-c9c9ebbc.woff2") format("woff2");
}

:root {
  --navy: #1c3a52;
  --band: #e8f1f8;
  --bullet: #2b7bb9;
  --ink: #2c3a46;
  --muted: #56636e;
  --rule: #c9dbe8;
  --gutter: 3rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
}

.sheet {
  max-width: 60rem;
  margin: 0 auto;
  padding: 2.5rem var(--gutter) 2rem;
}

/* Logos, with the date at the right */
.site-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1.25rem;
}

.brand {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.brand a {
  display: block;
}

.logo-airbar {
  width: 18rem;
}

.by {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--muted);
  font-size: 1.25rem;
}

.logo-tikit {
  width: 7.5rem;
}

.dateline {
  margin: 0;
  color: var(--muted);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Title band, bled to the sheet's edges */
.band {
  margin: 0 calc(-1 * var(--gutter));
  padding: 0.85rem var(--gutter);
  background: var(--navy);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.tagline {
  margin: 1rem 0 1.75rem;
  color: var(--muted);
}

/* The sections, in two columns */
.sections {
  columns: 2;
  column-gap: 1.75rem;
}

.mount-section,
.drawing,
.empty {
  break-inside: avoid;
}

.mount-section {
  display: flow-root;
  margin-bottom: 1.75rem;
}

.mount-section h2 {
  margin: 0 0 0.75rem;
  padding: 0.5rem 1rem;
  border-radius: 0.4rem;
  background: var(--band);
  color: var(--navy);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
}

.mount-section ul {
  margin: 0;
  padding: 0 0 0 1rem;
  list-style: none;
}

/* The bullet sits on the middle of the first line, whatever the padding: half the line, less half the dot. */
.mount-section li {
  --li-pad: 0.3rem;
  position: relative;
  padding: var(--li-pad) 0 var(--li-pad) 1.1rem;
  color: var(--muted);
  line-height: 1.4;
}

.mount-section li::before {
  content: "";
  position: absolute;
  top: calc(var(--li-pad) + 0.7em - 0.19rem);
  left: 0;
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 50%;
  background: var(--bullet);
}

.empty {
  column-span: all;
  margin: 0 0 1.75rem;
  font-weight: 600;
}

.drawing {
  margin: 0;
  padding-top: 0.5rem;
}

.drawing img {
  width: 100%;
  max-width: 26rem;
  margin-left: auto;
}

/* Footer under a rule */
.site-footer {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--rule);
  color: var(--muted);
  font-size: 0.85rem;
}

.site-footer p {
  margin: 0 0 0.3rem;
}

.site-footer .company {
  color: var(--navy);
  font-weight: 700;
}

.site-footer a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.sep {
  margin: 0 0.35rem;
}

/* Coming soon */
.coming-soon {
  padding: 1.5rem 0 1rem;
}

.coming-soon p {
  max-width: 34rem;
  margin: 1rem 0;
  color: var(--muted);
  font-size: 1.1rem;
}

.coming-soon .cta {
  display: inline-block;
  margin-top: 0.5rem;
  padding: 0.75rem 1.25rem;
  border-radius: 0.4rem;
  background: var(--navy);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.coming-soon .cta:hover,
.coming-soon .cta:focus-visible {
  background: var(--bullet);
}

/* A phone: one column */
@media (max-width: 640px) {
  :root {
    --gutter: 1rem;
  }

  .sheet {
    padding-top: 1.5rem;
  }

  .site-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .brand {
    gap: 1.25rem;
  }

  .logo-airbar {
    width: 11rem;
  }

  .by {
    font-size: 1rem;
  }

  .logo-tikit {
    width: 5rem;
  }

  .band {
    font-size: 1.15rem;
  }

  .sections {
    columns: 1;
  }

  .mount-section li {
    --li-pad: 0.55rem;
  }

  .drawing img {
    margin: 0 auto;
  }
}

/* One US letter page, both columns kept */
@media print {
  @page {
    size: letter;
    margin: 0.5in;
  }

  :root {
    --gutter: 0.35in;
  }

  html,
  body {
    font-size: 10.5pt;
  }

  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .sheet {
    max-width: none;
    padding: 0 var(--gutter);
  }

  .site-header {
    flex-direction: row;
    padding-bottom: 0.9rem;
  }

  .logo-airbar {
    width: 2.6in;
  }

  .logo-tikit {
    width: 1.1in;
  }

  .sections {
    columns: 2;
  }

  .mount-section {
    margin-bottom: 1.1rem;
  }

  .mount-section li {
    --li-pad: 0.15rem;
  }

  .drawing img {
    max-width: 3.4in;
  }

  .site-footer {
    break-inside: avoid;
  }

  .site-footer a {
    text-decoration: none;
  }
}
