  /* Weekend Launchpad commits to one look — the same navy/gold blueprint-at-night
     treatment as the brand mark and social card — rather than switching with the
     visitor's OS theme. */
  :root{
    color-scheme: dark;
    --ink:#f2eee2;
    --ink-soft:#a9b2be;
    --paper:#20262d;
    --paper-line:#3a3529;
    --surface:#262e38;
    --surface-2:#2f3946;
    --accent:#f2c94c;
    --accent-ink:#20262d;
    --accent-text:#f2c94c;
    --signal:#3ddb9c;
    --logo-navy:#171c22;
    --logo-gold:#f2c94c;
    --shadow: 0, 0, 0;
  }

  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  body{
    margin:0;
    background-color:var(--paper);
    background-image:
      repeating-linear-gradient(0deg, transparent, transparent 31px, rgba(242,201,76,0.09) 31px, rgba(242,201,76,0.09) 32px),
      repeating-linear-gradient(90deg, transparent, transparent 31px, rgba(242,201,76,0.09) 31px, rgba(242,201,76,0.09) 32px);
    background-position:0 0;
    color:var(--ink);
    font-family:'Literata', Georgia, serif;
    padding:0 18px;
    line-height:1.55;
  }
  h1,h2,h3,.wordmark,.stat-num{
    font-family:'Big Shoulders Display', 'Arial Narrow', sans-serif;
    text-transform:uppercase;
    letter-spacing:0.01em;
    text-wrap:balance;
  }
  .mono{
    font-family:'IBM Plex Mono', 'Courier New', monospace;
  }
  a{color:inherit;}
  img{max-width:100%;}

  .sheet{
    position:relative;
    z-index:0;
    max-width:1160px;
    margin:0 auto;
    border-left:1.5px solid var(--paper-line);
    border-right:1.5px solid var(--paper-line);
    background:
      repeating-linear-gradient(0deg, transparent, transparent 31px, rgba(242,201,76,0.09) 31px, rgba(242,201,76,0.09) 32px),
      var(--paper);
    background-position:0 0;
  }
  /* vertical grid lines live on their own layer, faded out near the left/right
     edges so a line can never land right on top of the sheet's own border and
     read as a doubled/thickened rule */
  .sheet::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background-image: repeating-linear-gradient(90deg, transparent, transparent 31px, rgba(242,201,76,0.09) 31px, rgba(242,201,76,0.09) 32px);
    background-position:0 0;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 20px, #000 calc(100% - 20px), transparent);
            mask-image: linear-gradient(90deg, transparent, #000 20px, #000 calc(100% - 20px), transparent);
  }

  /* ---------- header ---------- */
  header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:20px 24px;
    border-bottom:1.5px solid var(--paper-line);
    flex-wrap:wrap;
  }
  .logo-mark{
    display:flex;
    flex-direction:column;
    width:158px;
    flex-shrink:0;
    border-radius:2px;
    overflow:hidden;
    border:1.5px solid var(--paper-line);
  }
  .logo-mark .l1{
    background:var(--logo-navy);
    color:var(--logo-gold);
    font-family:'Big Shoulders Display', sans-serif;
    font-weight:900;
    font-size:1.55rem;
    line-height:1;
    letter-spacing:0.01em;
    text-align:center;
    padding:7px 0 5px;
  }
  .logo-mark .l2{
    background:var(--logo-gold);
    color:var(--logo-navy);
    font-family:'IBM Plex Mono', monospace;
    font-weight:600;
    font-size:0.66rem;
    letter-spacing:0.24em;
    text-align:center;
    padding:5px 0;
  }
  nav{
    display:flex;
    gap:22px;
    flex-wrap:wrap;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.78rem;
    letter-spacing:0.03em;
  }
  nav a{
    text-decoration:none;
    color:var(--ink-soft);
    border-bottom:1px solid transparent;
    padding-bottom:2px;
  }
  nav a:hover{ color:var(--accent-text); border-bottom-color:var(--accent-text); }

  /* ---------- hero / title block ---------- */
  .hero{
    padding:56px 24px 40px;
  }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.78rem;
    letter-spacing:0.09em;
    color:var(--accent-text);
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 18px;
  }
  .eyebrow::before{
    content:"";
    width:26px;height:1px;
    background:var(--accent-text);
    display:inline-block;
  }
  h1{
    font-size:clamp(2.4rem, 6.4vw, 4.6rem);
    line-height:0.98;
    font-weight:900;
    margin:0 0 22px;
    max-width:14ch;
    background:var(--paper);
  }
  h1 em{
    font-style:normal;
    color:var(--accent-ink);
    background:var(--accent);
    padding:0 8px;
    margin-left:-8px;
    -webkit-box-decoration-break:clone;
    box-decoration-break:clone;
  }
  .sub{
    font-size:clamp(1rem, 1.6vw, 1.18rem);
    color:var(--ink-soft);
    max-width:52ch;
    margin:0 0 30px;
  }
  .cta-row{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:46px;
  }
  .btn{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.85rem;
    letter-spacing:0.02em;
    padding:13px 22px;
    border-radius:2px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:1.5px solid var(--ink);
  }
  .btn.primary{
    background:var(--accent);
    color:var(--accent-ink);
    border-color:var(--accent);
    font-weight:600;
  }
  .btn.ghost{
    color:var(--ink);
  }
  .btn:hover{ opacity:0.85; }

  /* title-block strip, styled like a real drafting title block */
  .title-block{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    border:1.5px solid var(--paper-line);
    border-radius:3px;
    overflow:hidden;
    background:var(--surface);
  }
  .title-block div{
    padding:12px 16px;
    border-right:1.5px solid var(--paper-line);
  }
  .title-block div:last-child{ border-right:none; }
  .title-block .label{
    display:block;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.62rem;
    letter-spacing:0.08em;
    color:var(--ink-soft);
    margin-bottom:4px;
  }
  .title-block .val{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.85rem;
    font-weight:600;
  }
  .title-block .val.live{ color:var(--signal); }

  /* ---------- section shell ---------- */
  section{
    padding:52px 24px;
    border-bottom:1.5px solid var(--paper-line);
  }
  section:last-of-type{ border-bottom:none; }
  .sec-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:32px;
    flex-wrap:wrap;
  }
  .sec-num{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.78rem;
    color:var(--ink-soft);
  }
  h2{
    line-height:1.05;
    font-size:clamp(1.5rem, 3.2vw, 2.2rem);
    font-weight:800;
    margin:2px 0 0;
  }

  /* ---------- manifesto ---------- */
  .manifesto{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:40px;
    align-items:start;
  }
  .manifesto p{
    font-size:1.05rem;
    margin:0 0 16px;
  }
  .manifesto p:last-child{ margin-bottom:0; }
  .manifesto .callout{
    font-family:'Big Shoulders Display', sans-serif;
    text-transform:uppercase;
    font-size:1.5rem;
    font-weight:700;
    line-height:1.15;
    border-left:3px solid var(--accent);
    padding-left:18px;
  }

  /* ---------- process timeline (Fri/Sat/Sun) ---------- */
  .timeline{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1.5px;
    background:var(--paper-line);
    border:1.5px solid var(--paper-line);
    border-radius:3px;
    overflow:hidden;
  }
  .tl-step{
    background:var(--surface);
    padding:26px 22px 28px;
  }
  .tl-day{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.1em;
    color:var(--accent-text);
    display:block;
    margin-bottom:10px;
  }
  .tl-step h3{
    font-size:1.5rem;
    margin:0 0 10px;
    font-weight:800;
  }
  .tl-step p{
    margin:0;
    color:var(--ink-soft);
    font-size:0.94rem;
  }
  .tl-time{
    display:block;
    margin-top:16px;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.7rem;
    color:var(--ink-soft);
    border-top:1px dashed var(--paper-line);
    padding-top:10px;
  }

  /* ---------- portfolio ---------- */
  .portfolio-note{
    margin:-14px 0 28px;
    font-size:0.9rem;
    color:var(--ink-soft);
    max-width:60ch;
  }
  .portfolio-note strong{ color:var(--ink); }
  .grid-cards{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1.5px;
    background:var(--paper-line);
    border:1.5px solid var(--paper-line);
    border-radius:3px;
    overflow:hidden;
  }
  .card{
    background:var(--surface);
    padding:22px;
    display:flex;
    flex-direction:column;
    gap:10px;
    min-height:190px;
    text-decoration:none;
    color:inherit;
    transition:background-color 0.15s ease;
  }
  a.card:hover{ background:var(--surface-2); }
  .card-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
  }
  .card h3{
    margin:0;
    font-size:1.3rem;
    font-weight:800;
  }
  .status{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.62rem;
    letter-spacing:0.06em;
    padding:3px 7px;
    border-radius:2px;
    white-space:nowrap;
    border:1px solid currentColor;
  }
  .status.live{ color:var(--signal); }
  .status.beta{ color:var(--accent-text); }
  .card p{
    margin:0;
    color:var(--ink-soft);
    font-size:0.9rem;
    flex-grow:1;
  }
  .card .meta{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.68rem;
    color:var(--ink-soft);
    opacity:0.8;
  }

  /* ---------- capability list ---------- */
  .cap-list{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:2px;
    background:var(--paper-line);
    border:1.5px solid var(--paper-line);
    border-radius:3px;
    overflow:hidden;
  }
  .cap{
    background:var(--surface);
    padding:20px 22px;
    display:flex;
    gap:16px;
    align-items:baseline;
  }
  .cap .idx{
    font-family:'IBM Plex Mono', monospace;
    color:var(--signal);
    font-size:1.1rem;
    font-weight:700;
    flex-shrink:0;
  }
  .cap h3{
    font-size:1.05rem;
    margin:0 0 4px;
    text-transform:none;
    font-family:'Literata', serif;
    font-weight:600;
  }
  .cap p{
    margin:0;
    font-size:0.86rem;
    color:var(--ink-soft);
  }

  /* ---------- FAQ ---------- */
  .faq-list{
    display:flex;
    flex-direction:column;
    gap:1.5px;
    background:var(--paper-line);
    border:1.5px solid var(--paper-line);
    border-radius:3px;
    overflow:hidden;
  }
  .faq-item{
    background:var(--surface);
    padding:20px 22px;
  }
  .faq-item h3{
    margin:0 0 8px;
    font-size:1.02rem;
    text-transform:none;
    font-family:'Literata', serif;
    font-weight:600;
  }
  .faq-item p{
    margin:0;
    font-size:0.92rem;
    color:var(--ink-soft);
    max-width:70ch;
  }

  /* ---------- operator ---------- */
  .operator{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:26px;
    align-items:center;
  }
  .op-mark{
    width:76px;height:76px;
    border-radius:3px;
    background:var(--surface-2);
    border:1.5px solid var(--paper-line);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Big Shoulders Display', sans-serif;
    font-weight:800;
    font-size:1.5rem;
    color:var(--accent-text);
    flex-shrink:0;
  }
  .operator h3{
    margin:0 0 6px;
    font-size:1.2rem;
    font-weight:800;
    text-transform:none;
    font-family:'Literata', serif;
  }
  .operator p{
    margin:0;
    color:var(--ink-soft);
    max-width:60ch;
    font-size:0.95rem;
  }

  /* ---------- CTA ---------- */
  .cta-block{
    text-align:left;
    padding-top:52px;
    padding-bottom:52px;
  }
  .cta-block h2{
    max-width:16ch;
    margin-bottom:14px;
  }
  .cta-block .sub{ margin-bottom:26px; }

  /* ---------- lead form ---------- */
  .lead-form{
    max-width:640px;
    display:flex;
    flex-direction:column;
    gap:18px;
    border:1.5px solid var(--paper-line);
    border-radius:3px;
    background:var(--surface);
    padding:24px;
  }
  .lf-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
  }
  .lf-field{
    display:flex;
    flex-direction:column;
    gap:7px;
  }
  .lf-field label{
    font-size:0.66rem;
    letter-spacing:0.09em;
    color:var(--ink-soft);
  }
  .lead-form input,
  .lead-form textarea{
    font-family:'Literata', Georgia, serif;
    font-size:0.95rem;
    color:var(--ink);
    background:var(--paper);
    border:1.5px solid var(--paper-line);
    border-radius:2px;
    padding:10px 12px;
    resize:vertical;
  }
  .lead-form input:focus,
  .lead-form textarea:focus{
    outline:2px solid var(--accent);
    outline-offset:1px;
  }
  .lead-form textarea{ min-height:96px; }
  .lead-form .btn{
    border:1.5px solid var(--ink);
    cursor:pointer;
  }
  .lf-status{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.8rem;
    margin:0;
  }
  .lf-status.ok{ color:var(--signal); }
  .lf-status.err{ color:#b3261e; }

  @media (max-width: 520px){
    .lf-row{ grid-template-columns:1fr; }
  }

  /* ---------- footer ---------- */
  footer{
    padding:20px 24px 30px;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:14px;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    color:var(--ink-soft);
  }
  footer .cols{ display:flex; gap:28px; flex-wrap:wrap; }
  footer a{ text-decoration:none; }
  footer a:hover{ color:var(--accent-text); }

  @media (max-width: 900px){
    .grid-cards{ grid-template-columns:repeat(2, 1fr); }
  }
  @media (max-width: 760px){
    .title-block{ grid-template-columns:repeat(2, 1fr); }
    .title-block div:nth-child(2){ border-right:none; }
    .manifesto{ grid-template-columns:1fr; }
    .timeline{ grid-template-columns:1fr; }
    .cap-list{ grid-template-columns:1fr; }
    .operator{ grid-template-columns:1fr; }
    .grid-cards{ grid-template-columns:1fr; }
  }

  @media (prefers-reduced-motion:no-preference){
    .fade-in{ animation: rise 0.6s ease both; }
  }
  @keyframes rise{
    from{ opacity:0; transform:translateY(8px); }
    to{ opacity:1; transform:translateY(0); }
  }

/* ---------- form feedback (PHP contact handler) ---------- */
.form-notice{
  max-width:640px;
  margin:0 0 18px;
  padding:12px 16px;
  border:1.5px solid currentColor;
  border-radius:3px;
  font-family:'IBM Plex Mono', monospace;
  font-size:0.82rem;
  background:var(--surface);
}
.form-notice.ok{ color:var(--signal); }
.form-notice.err{ color:#ff8a7a; }
.legal-ids{ display:flex; gap:6px 24px; flex-wrap:wrap; flex-basis:100%; order:3; padding-top:12px; border-top:1px dashed var(--paper-line); }
.skip-link{ position:absolute; left:-9999px; }
.skip-link:focus{ left:12px; top:12px; z-index:10; background:var(--accent); color:var(--accent-ink); padding:8px 12px; }

