@font-face { font-family: "Barlow Condensed"; font-weight: 600; font-display: swap; src: url("/static/vendor/fonts/barlow-condensed-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-weight: 700; font-display: swap; src: url("/static/vendor/fonts/barlow-condensed-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 400; font-display: swap; src: url("/static/vendor/fonts/source-sans-3-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 400; font-style: italic; font-display: swap; src: url("/static/vendor/fonts/source-sans-3-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 600; font-display: swap; src: url("/static/vendor/fonts/source-sans-3-latin-600-normal.woff2") format("woff2"); }

/* The public pages use only these Bootstrap icons; masks spare them the 220 KB icon font and its stylesheet. */
.site .bi { display: inline-block; width: 1em; height: 1em; vertical-align: -.125em; background-color: currentColor; -webkit-mask: var(--bi) center / contain no-repeat; mask: var(--bi) center / contain no-repeat; }
.site .bi-arrow-right { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.013 8Q1.013 7.787 1.147 7.653Q1.28 7.52 1.493 7.52H13.28L10.133 4.373Q9.973 4.213 9.973 4Q9.973 3.787 10.133 3.653Q10.293 3.52 10.507 3.52Q10.72 3.52 10.88 3.627L14.88 7.627Q14.987 7.787 14.987 8Q14.987 8.213 14.88 8.373L10.88 12.373Q10.72 12.48 10.507 12.48Q10.293 12.48 10.133 12.347Q9.973 12.213 9.973 12Q9.973 11.787 10.133 11.627L13.28 8.48H1.493Q1.28 8.48 1.147 8.347Q1.013 8.213 1.013 8Z'/%3E%3C/svg%3E"); }
.site .bi-boxes { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7.733 0.053Q8 -0.053 8.267 0.053L12 2.187Q12.267 2.347 12.267 2.667V6.613L15.733 8.64Q16 8.8 16 9.067V13.333Q16 13.653 15.733 13.813L12 15.947Q11.733 16.053 11.52 15.947L8 13.92L4.48 15.947Q4.267 16.053 4 15.947L0.267 13.813Q0 13.653 0 13.333V9.067Q0 8.8 0.267 8.64L3.733 6.613V2.667Q3.733 2.347 4 2.187ZM4.267 7.52 1.493 9.067 4.267 10.613 6.987 9.067ZM7.52 9.92 4.747 11.52V14.613L7.52 13.067ZM8.48 13.067 11.253 14.613V11.52L8.48 9.92ZM9.013 9.067 11.733 10.613 14.507 9.067 11.733 7.52ZM11.253 6.613V3.52L8.48 5.067V8.213ZM7.52 8.213V5.067L4.747 3.52V6.613ZM5.28 2.667 8 4.213 10.72 2.667 8 1.067ZM14.987 9.92 12.267 11.52V14.613L14.987 13.067ZM3.733 14.613V11.52L1.013 9.92V13.067Z'/%3E%3C/svg%3E"); }
.site .bi-envelope { --bi: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 4Q0 3.147 0.587 2.56Q1.173 1.973 2.027 1.973H14.027Q14.827 1.973 15.413 2.56Q16 3.147 16 4V12Q16 12.853 15.413 13.413Q14.827 13.973 13.973 13.973H2.027Q1.173 13.973 0.587 13.413Q0 12.853 0 12ZM2.027 2.987Q1.6 2.987 1.307 3.28Q1.013 3.573 1.013 4V4.213L8 8.427L14.987 4.213V4Q14.987 3.573 14.693 3.28Q14.4 2.987 14.027 2.987ZM14.987 5.387 10.293 8.213 14.987 11.093ZM14.987 12.267 9.333 8.8 8 9.6 6.667 8.8 1.013 12.267Q1.12 12.587 1.387 12.8Q1.653 13.013 2.027 13.013H14.027Q14.347 13.013 14.613 12.8Q14.88 12.587 14.987 12.267ZM1.013 11.093 5.707 8.213 1.013 5.387Z'/%3E%3C/svg%3E"); }

.site {
  --paper: #f3f0e8;
  --paper-2: #e8e3d6;
  --card: #fbfaf6;
  --ink: #16181b;
  --ink-2: #50545a;
  --line: #d5cfc0;
  --signal: #ff5b1f;
  --signal-ink: #ad3d0e;
  --night: #121416;
  --night-2: #1c1f22;
  --night-line: #33373b;
  --display: "Barlow Condensed", "Arial Narrow", sans-serif;
  background: var(--paper);
  color: var(--ink);
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.55;
}
.site a { color: inherit; }
.site ::selection { background: var(--signal); color: #fff; }

.site-nav { position: sticky; top: 0; z-index: 20; background: rgba(243, 240, 232, .92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.site-nav .container-xl { min-height: 4rem; }
.site-brand { display: inline-flex; align-items: center; gap: .55rem; font-family: var(--display); font-weight: 700; font-size: 1.6rem; letter-spacing: .01em; text-decoration: none; color: var(--ink); }
.site-brand-mark { display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; background: var(--ink); color: var(--signal); font-size: 1.05rem; border-radius: 3px; }
.site-nav-links { gap: 1.75rem; }
.site-nav-links a, .site-nav-link-sm { text-decoration: none; color: var(--ink-2); font-weight: 600; font-size: .98rem; }
.site-nav-links a:hover, .site-nav-links a[aria-current] { color: var(--ink); box-shadow: inset 0 -2px 0 var(--signal); }

.site-btn { display: inline-flex; align-items: center; gap: .55rem; padding: .7rem 1.2rem; border: 2px solid var(--ink); border-radius: 3px; background: var(--ink); color: var(--paper) !important; font-weight: 600; text-decoration: none; line-height: 1.2; transition: transform .12s ease, background-color .12s ease; }
.site-btn:hover { transform: translateY(-1px); background: #000; }
.site-btn .bi-arrow-right { transition: transform .12s ease; }
.site-btn:hover .bi-arrow-right { transform: translateX(3px); }
.site-btn .me-2 { margin-right: 0 !important; }
.site-btn-sm { padding: .4rem .85rem; font-size: .95rem; }
.site-btn-ghost { background: transparent; color: var(--ink) !important; }
.site-btn-ghost:hover { background: var(--ink); color: var(--paper) !important; }
.site-btn-signal { background: var(--signal); border-color: var(--signal); color: #16181b !important; }
.site-btn-signal:hover { background: #ff7a45; }
.site-btn-ghost-light { background: transparent; border-color: #f3f0e8; color: #f3f0e8 !important; }
.site-btn-ghost-light:hover { background: #f3f0e8; color: var(--ink) !important; }

.site-kicker { display: flex; align-items: center; gap: .6rem; margin-bottom: .9rem; font-family: var(--display); font-weight: 600; font-size: 1.05rem; letter-spacing: .08em; text-transform: uppercase; color: var(--signal-ink); }
.site-num { display: inline-block; padding: .05rem .4rem; background: var(--ink); color: var(--signal); font-family: var(--display); font-weight: 700; letter-spacing: .04em; border-radius: 2px; line-height: 1.3; }
.site-h1, .site-h2, .site-card h3, .site-flow strong, .site-pager a { font-family: var(--display); font-weight: 600; letter-spacing: -.005em; }
.site-h1 { font-size: clamp(2.8rem, 6vw, 4.9rem); line-height: .95; margin-bottom: 1.4rem; }
.site-h2 { font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1; margin-bottom: 1.1rem; }
.site-lead { font-size: 1.22rem; color: var(--ink-2); max-width: 36rem; }
.site-muted { color: var(--ink-2); }
.site-link { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1rem; font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--signal); padding-bottom: .1rem; }
.site-link .bi { transition: transform .12s ease; }
.site-link:hover .bi { transform: translateX(3px); }
.site-link-light { color: #f3f0e8 !important; }

.site-hero { padding: 4.5rem 0 5rem; overflow: hidden; }
.site-hero-stage { position: relative; padding: 0 0 4rem 3.5rem; }
.site-hero-shot { margin: 0; }
.site-hero-phone { position: absolute; left: 0; bottom: 0; width: 26%; max-width: 170px; margin: 0; }
.site-hero-label { position: absolute; right: -.75rem; top: -2rem; transform: rotate(3deg); }

.site-shot { margin: 0; }
.site-shot-frame { background: var(--card); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 24px 48px -24px rgba(22, 24, 27, .35); }
.site-shot-bar { display: flex; align-items: center; height: 2rem; padding: 0 .85rem; border-bottom: 1px solid var(--line); background: var(--paper-2); font-size: .8rem; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.site-shot-bar::before { content: ""; flex: none; width: .55rem; height: .55rem; margin-right: .6rem; border-radius: 50%; background: var(--signal); }
.site-shot-img { display: block; cursor: zoom-in; }
.site-shot img { display: block; width: 100%; height: auto; }
.site-shot figcaption, .site-phone figcaption { margin-top: .7rem; font-size: .92rem; color: var(--ink-2); }

.site-phone { margin: 0; }
.site-phone-frame { padding: .45rem; background: var(--ink); border-radius: 1.6rem; box-shadow: 0 24px 40px -20px rgba(22, 24, 27, .55); }
.site-phone-frame img { display: block; width: 100%; height: auto; border-radius: 1.2rem; }

.site-label { display: flex; gap: .7rem; align-items: center; width: 15.5rem; padding: .7rem .8rem; background: #fff; color: #000; border-radius: 3px; box-shadow: 0 10px 24px -10px rgba(0,0,0,.45); }
.site-label::before { content: ""; position: absolute; top: -.6rem; left: 50%; width: 4.5rem; height: 1.3rem; transform: translateX(-50%) rotate(-4deg); background: rgba(30, 32, 35, .88); }
.site-label-qr { flex: none; width: 4.4rem; }
.site-label-qr svg, .site-label-bar svg { display: block; width: 100%; height: auto; }
.site-label-text { min-width: 0; font-size: .72rem; line-height: 1.2; }
.site-label-text strong { display: block; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1rem; letter-spacing: .04em; }
.site-label-bar { margin-top: .35rem; height: 1.6rem; overflow: hidden; }
.site-label-bar svg { height: 100%; width: auto; max-width: 100%; }

.site-strip { background: var(--ink); color: #d9d5cb; font-size: .95rem; }
.site-strip ul { display: flex; flex-wrap: wrap; gap: .4rem 2.2rem; margin: 0; padding: 1rem 0; list-style: none; }
.site-strip li { display: flex; align-items: baseline; gap: .4rem; }
.site-strip li::before { content: ""; flex: none; width: .45rem; height: .45rem; background: var(--signal); align-self: center; }
.site-strip strong { color: #fff; font-weight: 600; }

.site-section { padding: 5.5rem 0; }
.site-section-alt { background: var(--paper-2); }
.site-section-dark { background: var(--night); color: #d9d5cb; }
.site-section-dark .site-h2 { color: #fff; }
.site-section-dark .site-kicker { color: var(--signal); }
.site-section-dark .site-num { background: var(--signal); color: var(--ink); }
.site-section-dark .site-shot-frame { border-color: var(--night-line); box-shadow: 0 30px 60px -30px rgba(0,0,0,.8); }
.site-section-dark .site-shot-bar { background: var(--night-2); border-color: var(--night-line); color: #a9a59c; }

.site-facts { list-style: none; padding: 0; margin: 1.2rem 0 0; }
.site-facts li { position: relative; padding: .55rem 0 .55rem 1.4rem; border-top: 1px solid var(--line); }
.site-facts li:last-child { border-bottom: 1px solid var(--line); }
.site-facts li::before { content: ""; position: absolute; left: 0; top: 1.05rem; width: .5rem; height: .5rem; background: var(--signal); }

.site-flow { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; margin: 2rem 0 0; padding: 0; list-style: none; counter-reset: flow; border-top: 2px solid var(--ink); }
.site-flow li { border-right: 1px solid var(--line); }
.site-flow li:last-child { border-right: 0; }
.site-flow a { display: block; height: 100%; padding: 1.2rem 1.1rem 1.4rem; color: var(--ink-2); text-decoration: none; font-size: .95rem; transition: background-color .12s ease; }
.site-flow a:hover { background: var(--card); }
.site-flow .site-num { margin-bottom: .9rem; }
.site-flow strong { display: block; margin-bottom: .4rem; color: var(--ink); font-size: 1.45rem; line-height: 1.05; }

.site-card { display: flex; flex-direction: column; height: 100%; padding: 1.5rem 1.5rem 0; background: var(--card); border: 1px solid var(--line); border-radius: 6px; text-decoration: none; overflow: hidden; transition: transform .15s ease, box-shadow .15s ease; }
.site-card:hover { transform: translateY(-3px); box-shadow: 0 20px 40px -24px rgba(22, 24, 27, .45); }
.site-card .site-num { align-self: flex-start; margin-bottom: 1rem; }
.site-card h3 { font-size: 1.9rem; line-height: 1; margin-bottom: .6rem; }
.site-card p { color: var(--ink-2); }
.site-card img { display: block; width: 125%; max-width: none; height: auto; margin-top: auto; border: 1px solid var(--line); border-bottom: 0; border-radius: 4px 0 0 0; object-fit: cover; object-position: left top; aspect-ratio: 16 / 9; }

.site-spec { display: grid; grid-template-columns: minmax(8rem, 12rem) 1fr; margin: 0; border-top: 2px solid var(--ink); }
.site-spec dt, .site-spec dd { margin: 0; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.site-spec dt { font-family: var(--display); font-weight: 600; font-size: 1.15rem; letter-spacing: .04em; text-transform: uppercase; }
.site-spec dd { color: var(--ink-2); }

.site-cta { padding: 5rem 0; background: var(--ink); color: #d9d5cb; }
.site-cta .site-h2 { color: #fff; }
.site-cta .site-kicker { color: var(--signal); }
.site-cta .site-lead { color: #bdb8ad; }

.site-footer { padding: 3.5rem 0; border-top: 1px solid var(--line); color: var(--ink-2); font-size: .95rem; }
.site-footer-title { font-family: var(--display); font-weight: 600; font-size: 1.05rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink); margin-bottom: .8rem; }
.site-footer ul a, .site-footer nav a { text-decoration: none; color: var(--ink-2) !important; }
.site-footer ul a:hover, .site-footer nav a:hover { color: var(--ink) !important; text-decoration: underline; text-decoration-color: var(--signal); }
.site-footer li { padding: .15rem 0; }
.site-footer nav { flex-direction: column; gap: .3rem !important; }

.site-page-head { padding: 3.5rem 0 0; }
.site-crumbs { display: flex; gap: .5rem; margin-bottom: 1.5rem; font-size: .92rem; color: var(--ink-2); }
.site-crumbs a { color: var(--ink-2); }
.site-intro { padding: 0 0 3.5rem; }
.site-intro .site-shot { margin-top: 3rem; }
.site-block { padding: 4rem 0; border-top: 1px solid var(--line); }
.site-block h2 { font-family: var(--display); font-weight: 600; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.02; margin-bottom: 1rem; }
.site-block p { max-width: 38rem; }
.site-block-dark { background: var(--night); color: #d9d5cb; border-top: 0; }
.site-block-dark h2 { color: #fff; }
.site-block-dark .site-facts li { border-color: var(--night-line); }
.site-spec-dark { border-top-color: var(--signal); }
.site-spec-dark dt, .site-spec-dark dd { border-color: var(--night-line); }
.site-spec-dark dt { color: #fff; }
.site-spec-dark dd { color: #bdb8ad; }
.site-code { margin: 0; padding: 1.25rem 1.4rem; background: var(--night-2); border: 1px solid var(--night-line); border-radius: 6px; color: #e9e5dc; font-size: .85rem; line-height: 1.6; white-space: pre-wrap; word-break: break-word; }
.site-code .c { color: var(--signal); }
.site-block-dark code { color: var(--signal); }
.site-block-dark .site-code code { color: inherit; }
.site-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.site-phones { display: flex; gap: 1.5rem; justify-content: center; }
.site-phones .site-phone { width: 15rem; max-width: 45%; }
.site-note { padding: 1rem 1.2rem; border-left: 3px solid var(--signal); background: var(--card); color: var(--ink-2); font-size: .98rem; }

.site-index { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: 1.5rem; }

.site-pager { display: flex; justify-content: space-between; gap: 1rem; padding-top: 3rem; padding-bottom: 4rem; }
.site-pager a { display: flex; flex-direction: column; max-width: 48%; padding: 1rem 1.25rem; border: 1px solid var(--line); border-radius: 6px; background: var(--card); text-decoration: none; font-size: 1.5rem; line-height: 1.05; }
.site-pager a:hover { border-color: var(--ink); }
.site-pager span { font-family: "Source Sans 3", system-ui, sans-serif; font-size: .85rem; color: var(--ink-2); margin-bottom: .3rem; letter-spacing: .02em; }
.site-pager-next { margin-left: auto; text-align: right; }

.site-legal { max-width: 52rem; padding-top: 3.5rem !important; }
.site-legal h1 { font-family: var(--display); font-weight: 600; font-size: clamp(2.2rem, 4vw, 3rem); margin-bottom: .5rem; }
.site-legal h2 { font-size: 1.25rem; font-weight: 600; margin-top: 2rem; }

@media (max-width: 991.98px) {
  .site-hero { padding: 3rem 0 3.5rem; }
  .site-hero-stage { margin-top: 2.5rem; padding-left: 1.5rem; padding-bottom: 3rem; }
  .site-hero-label { right: .25rem; top: -1.5rem; transform: rotate(3deg) scale(.85); transform-origin: top right; }
  .site-flow { grid-template-columns: repeat(3, 1fr); }
  .site-flow li:nth-child(3) { border-right: 0; }
  .site-flow li:nth-child(n+4) { border-top: 1px solid var(--line); }
  .site-section { padding: 4rem 0; }
}
@media (max-width: 575.98px) {
  .site { font-size: 1rem; }
  .site-hero-stage { padding-left: 0; padding-bottom: 2.5rem; }
  .site-hero-phone { width: 30%; left: -.25rem; }
  .site-hero-label { transform: rotate(3deg) scale(.7); }
  .site-flow { grid-template-columns: 1fr; }
  .site-flow li { border-right: 0; border-top: 1px solid var(--line); }
  .site-flow li:first-child { border-top: 0; }
  .site-spec { grid-template-columns: 1fr; }
  .site-spec dt { padding-bottom: 0; border-bottom: 0; }
  .site-pair { grid-template-columns: 1fr; }
  .site-pager { flex-direction: column; }
  .site-pager a { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .site * { transition: none !important; }
}
.site .container-xl { --bs-gutter-x: 2rem; }
