/* @fonts: IBM Plex Mono | IBM Plex Sans */
/* --- generated fonts --- */
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/plexmono-400-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:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/plexmono-500-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:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/plexmono-600-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:"IBM Plex Sans";font-style:normal;font-weight:300 700;font-display:swap;src:url("/assets/fonts/plexsans-300-700-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}
/* --- end generated fonts --- */
/* CAD design: "Cyanotype". Classic blueprint paper blue with white linework and a
   drafting title block. Precision is the product, so the page is drawn like a sheet:
   mono labels, square corners, dimension ticks. Overrides the page's own inline
   theme (this file loads after it). */
:root {
  --bg: #0d3b73; --bg-raised: #0f447f; --bg-card: rgba(255, 255, 255, 0.04);
  --line: rgba(255, 255, 255, 0.2); --line-strong: rgba(255, 255, 255, 0.45);
  --text: #f4f8fd; --text-dim: #cfe0f3; --text-faint: #a9c3e0;
  --accent: #ffffff; --accent-bright: #ffffff; --accent-rgb: 255, 255, 255; --accent2-rgb: 255, 214, 102;
  --cta-bg: #ffd666; --cta-ink: #0d3b73; --cta-hover: #ffe08f;
  --font-display: "IBM Plex Mono", ui-monospace, monospace;
  --font-body: "IBM Plex Sans", system-ui, sans-serif;
  --btn-radius: 0; --card-radius: 0; --card-radius-lg: 0;
}
/* the sheet: fine and major grid lines across the whole page */
body {
  background-color: var(--bg);
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.09) 1px, transparent 1px),
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px;
}
.section--tint { background: rgba(0, 0, 0, 0.12); }
h1, h2, h3 { font-weight: 600; letter-spacing: -0.02em; }
.lp-hero h1 { text-transform: uppercase; font-size: clamp(2.2rem, 1rem + 4.4vw, 4.4rem); letter-spacing: -0.03em; }
.lp-hero h1 em, .section__title em, .band h2 em { color: #ffd666; }
.lp-hero__img::after { background: linear-gradient(90deg, rgba(13, 59, 115, 0.96) 5%, rgba(13, 59, 115, 0.78) 46%, rgba(13, 59, 115, 0.35) 100%), linear-gradient(0deg, var(--bg) 1%, transparent 48%); }
.lp-hero::before { background: none; }
.lp-kicker, .section__kicker { color: #ffd666; text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.8rem; }
.lp-kicker::before, .section__kicker::before { background: #ffd666; }
.lp-stat b { color: #ffd666; }
/* title-block cards with dimension ticks at the corners */
.photo-card, .cap, .cadv, .price-card, .process__step, .faq details, .contact-aside__card {
  border-radius: 0; border: 1px solid var(--line-strong); position: relative;
}
.cap::before, .photo-card::before, .price-card::before {
  content: ""; position: absolute; inset: -6px; pointer-events: none;
  background:
    linear-gradient(var(--text), var(--text)) top left / 12px 1px no-repeat,
    linear-gradient(var(--text), var(--text)) top left / 1px 12px no-repeat,
    linear-gradient(var(--text), var(--text)) bottom right / 12px 1px no-repeat,
    linear-gradient(var(--text), var(--text)) bottom right / 1px 12px no-repeat;
}
.cap b, .photo-card h3 { text-transform: uppercase; letter-spacing: 0.02em; }
.photo-card li::before { color: #ffd666; }
.fmt { justify-content: flex-start; }
.fmt span { border-radius: 0; color: var(--text); background: rgba(255, 255, 255, 0.06); border-color: var(--line-strong); }
.cadv { border-radius: 0; }
.cadv:focus-visible { border-color: #ffd666; box-shadow: 0 0 0 3px rgba(255, 214, 102, 0.3); }
.price-card--hot { border-color: #ffd666; box-shadow: none; }
.price-card__badge { background: #ffd666; }
.cta__card { border-color: var(--line-strong); }
