
  /* Palette: OKC Thunder, quietly — navy ink, Thunder blue workhorse,
     sunset orange for the one loud word. */
  :root{
    --bg:#f5f4ef;
    --fg:#0c2340;
    --muted:#5b6b7d;
    --accent:#00538f;
    --accent-2:#d63a1e;
    --btn-ink:#ffffff;
    --line:#0c2340;
    --line-op:rgba(12,35,64,0.16);
    --surface:#ffffff;
  }
  @media (prefers-color-scheme: dark){
    :root{
      --bg:#071528;
      --fg:#f1efe7;
      --muted:#93a1b2;
      --accent:#3aa7e8;
      --accent-2:#ff6a4a;
      --btn-ink:#06182b;
      --line:#f1efe7;
      --line-op:rgba(241,239,231,0.16);
      --surface:#0d2138;
    }
  }
  :root[data-theme="light"]{
    --bg:#f5f4ef;
    --fg:#0c2340;
    --muted:#5b6b7d;
    --accent:#00538f;
    --accent-2:#d63a1e;
    --btn-ink:#ffffff;
    --line:#0c2340;
    --line-op:rgba(12,35,64,0.16);
    --surface:#ffffff;
  }
  :root[data-theme="dark"]{
    --bg:#071528;
    --fg:#f1efe7;
    --muted:#93a1b2;
    --accent:#3aa7e8;
    --accent-2:#ff6a4a;
    --btn-ink:#06182b;
    --line:#f1efe7;
    --line-op:rgba(241,239,231,0.16);
    --surface:#0d2138;
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ -webkit-text-size-adjust:100%; }
  body{
    margin:0;
    background:var(--bg);
    color:var(--fg);
    font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
    line-height:1.4;
    overflow-x:hidden;
    max-width:100vw;
  }
  ::selection{ background:var(--accent); color:var(--btn-ink); }
  :focus-visible{ outline:2px solid var(--accent-2); outline-offset:3px; }

  a{ color:inherit; text-decoration:none; }
  ul{ margin:0; padding:0; list-style:none; }
  p{ margin:0; }
  button, select, input, textarea{ font-family:inherit; color:inherit; }

  .mono{
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  }

  .wrap{
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(1.1rem,4vw,3rem);
  }

  .eyebrow{
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
    font-size:0.72rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--accent);
    display:inline-block;
    margin-bottom:1.4rem;
  }

  .hr{
    border:none;
    border-top:1px solid var(--line-op);
    margin:0;
  }

  /* ---------- nav ---------- */
  header.site-nav{
    position:sticky;
    top:0;
    z-index:50;
    background:var(--bg);
    border-bottom:1px solid var(--line-op);
  }
  .nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding-top:1rem;
    padding-bottom:1rem;
    flex-wrap:wrap;
  }
  .logo{
    font-weight:700;
    font-size:1.05rem;
    letter-spacing:-0.02em;
    white-space:nowrap;
  }
  .logo .dot{ color:var(--accent); }
  nav.links{
    display:flex;
    gap:clamp(1rem,3vw,2.2rem);
    flex-wrap:wrap;
  }
  nav.links a{
    font-size:0.85rem;
    letter-spacing:0.02em;
    text-transform:uppercase;
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
    padding:0.25rem 0;
    border-bottom:1px solid transparent;
  }
  nav.links a.active{
    border-bottom-color:var(--accent);
    color:var(--accent);
  }
  nav.links a:hover{
    color:var(--accent);
  }
  .theme-toggle{
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
    font-size:0.72rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    background:transparent;
    border:1px solid var(--line-op);
    color:var(--fg);
    padding:0.4rem 0.7rem;
    cursor:pointer;
    border-radius:999px;
  }
  .theme-toggle:hover{ border-color:var(--accent); color:var(--accent); }

  /* ---------- sections ---------- */
  main.page section{
    padding-top:clamp(3rem,8vw,6.5rem);
    padding-bottom:clamp(3rem,8vw,6.5rem);
    border-bottom:1px solid var(--line-op);
  }
  main.page section:last-of-type{ border-bottom:none; }

  h1,h2,h3{ margin:0; font-weight:700; }

  .display{
    font-size:clamp(2.6rem,9.5vw,9.5rem);
    line-height:0.94;
    letter-spacing:-0.035em;
    margin:0;
    max-width:16ch;
  }
  .display .accent{ color:var(--accent-2); }

  .sub{
    font-size:clamp(1.05rem,2vw,1.4rem);
    color:var(--muted);
    max-width:38ch;
    margin-top:1.6rem;
    line-height:1.5;
  }

  .cta-row{
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    margin-top:2.4rem;
    align-items:center;
  }
  .btn{
    display:inline-block;
    background:var(--accent);
    color:var(--btn-ink);
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
    font-size:0.85rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:1rem 1.6rem;
    border-radius:999px;
    border:1px solid var(--accent);
  }
  .btn:hover{ opacity:0.88; }
  .btn.ghost{
    background:transparent;
    color:var(--fg);
    border:1px solid var(--line-op);
  }
  .btn.ghost:hover{ border-color:var(--accent); color:var(--accent); }
  .tel-link{
    font-size:1.1rem;
    font-weight:700;
    letter-spacing:-0.01em;
    border-bottom:1px solid var(--line-op);
  }
  .tel-link:hover{ color:var(--accent); border-color:var(--accent); }

  /* ---------- pricing strip (home) ---------- */
  .price-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:2rem;
  }
  .price-item{
    padding:2rem 1.5rem 0 0;
    border-left:1px solid var(--line-op);
    padding-left:1.5rem;
  }
  .price-item:first-child{ border-left:none; padding-left:0; }
  .price-value{
    font-size:clamp(2.4rem,7vw,5.2rem);
    font-weight:700;
    letter-spacing:-0.03em;
    font-variant-numeric:tabular-nums;
    line-height:1;
  }
  .price-value sup{
    font-size:0.4em;
    font-weight:400;
    color:var(--muted);
    top:-0.6em;
  }
  .price-name{
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
    font-size:0.78rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--muted);
    margin-top:0.9rem;
    display:block;
  }
  @media (max-width:760px){
    .price-grid{ grid-template-columns:1fr; }
    .price-item{ border-left:none; padding-left:0; border-top:1px solid var(--line-op); padding-top:1.6rem; margin-top:1.6rem; }
    .price-item:first-child{ border-top:none; margin-top:0; padding-top:0; }
  }

  /* ---------- tony block (type only — no portrait) ---------- */
  .tony-block{
    max-width:44rem;
  }
  .tony-heading{
    font-size:clamp(2.2rem,6vw,4.5rem);
    max-width:12ch;
    margin:0 0 0.85rem;
  }
  .tony-block .org-chart{
    margin:0 0 1.5rem;
  }
  .tony-lede{
    margin:0 0 1.1rem;
    max-width:52ch;
  }
  .tony-lede:last-child{ margin-bottom:0; }
  .faq{ max-width:52rem; margin:0; }
  .faq dt{
    font-weight:700;
    font-size:clamp(1.05rem,2vw,1.3rem);
    letter-spacing:-0.01em;
    margin-top:1.9rem;
  }
  .faq dd{
    margin:0.5rem 0 0;
    color:var(--muted);
    line-height:1.65;
    max-width:62ch;
  }
  .org-chart{
    font-size:clamp(1.5rem,3.2vw,2.4rem);
    font-weight:700;
    letter-spacing:-0.02em;
    line-height:1.2;
    margin-top:1.2rem;
  }
  .trust-line{
    font-size:clamp(1.3rem,3vw,2.2rem);
    font-weight:700;
    letter-spacing:-0.02em;
    line-height:1.25;
  }

  /* ---------- services packages: click a name, the story unfolds ---------- */
  .package{
    border-top:1px solid var(--line-op);
  }
  .package:first-of-type{ border-top:none; }
  .package-head{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:0.6rem 1.4rem;
    width:100%;
    background:none;
    border:none;
    text-align:left;
    cursor:pointer;
    padding:clamp(1.8rem,4.5vw,3rem) 0;
    color:var(--fg);
  }
  .pkg-idx{
    font-size:0.78rem;
    letter-spacing:0.14em;
    color:var(--muted);
    flex:0 0 2.2rem;
  }
  .package-name{
    font-size:clamp(2rem,6.5vw,5.2rem);
    font-weight:700;
    letter-spacing:-0.03em;
    line-height:1;
    flex:1 1 auto;
    min-width:min(100%, 16rem);
    transition:transform 0.35s cubic-bezier(0.16,1,0.3,1), color 0.2s;
  }
  .package-head:hover .package-name{ color:var(--accent); transform:translateX(0.35em); }
  .package.open .package-name{ color:var(--accent); }
  .package-price{
    font-size:clamp(1.8rem,4.5vw,3.2rem);
    font-weight:700;
    color:var(--fg);
    font-variant-numeric:tabular-nums;
    white-space:nowrap;
    transition:color 0.2s;
  }
  .package-head:hover .package-price,
  .package.open .package-price{ color:var(--accent-2); }
  .package-price small{
    font-size:0.4em;
    color:var(--muted);
    font-weight:400;
    margin-left:0.3em;
  }
  .pkg-toggle{
    font-size:0.72rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--muted);
    white-space:nowrap;
    border:1px solid var(--line-op);
    border-radius:999px;
    padding:0.4rem 0.8rem;
    transition:color 0.2s, border-color 0.2s;
  }
  .package-head:hover .pkg-toggle{ color:var(--accent); border-color:var(--accent); }
  .package.open .pkg-toggle{ color:var(--accent-2); border-color:var(--accent-2); }

  .package-body{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows 0.65s cubic-bezier(0.16,1,0.3,1);
  }
  .package.open .package-body{ grid-template-rows:1fr; }
  .package-body-inner{
    overflow:hidden;
    min-height:0;
  }
  .pkg-cols{
    display:grid;
    grid-template-columns:1.15fr 1fr;
    gap:clamp(1.5rem,4vw,4rem);
    padding-bottom:clamp(2rem,5vw,3.5rem);
  }
  @media (max-width:820px){
    .pkg-cols{ grid-template-columns:1fr; }
  }
  .pkg-desc{
    font-size:clamp(1.05rem,1.8vw,1.3rem);
    line-height:1.6;
    max-width:52ch;
  }
  .pkg-desc + .pkg-desc{ margin-top:1rem; }
  .best-for{
    margin-top:1.6rem;
    font-size:0.95rem;
    color:var(--muted);
    line-height:1.6;
    max-width:52ch;
  }
  .best-for strong{ color:var(--fg); }
  .pkg-ctas{ display:flex; flex-wrap:wrap; gap:0.8rem; margin-top:1.8rem; }
  .pkg-ctas .btn{ padding:0.8rem 1.3rem; font-size:0.78rem; }

  .scope-label{
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
    font-size:0.72rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--muted);
    display:block;
    margin-bottom:1rem;
  }
  .scope-list{
    display:grid;
    grid-template-columns:1fr;
    gap:0.75rem;
  }
  .scope-list li{
    font-size:1rem;
    color:var(--fg);
    padding-left:1.3rem;
    position:relative;
    line-height:1.5;
    opacity:0;
    transform:translateY(8px);
    transition:opacity 0.45s ease, transform 0.45s ease;
  }
  .package.open .scope-list li{ opacity:1; transform:none; }
  .package.open .scope-list li:nth-child(1){ transition-delay:0.18s; }
  .package.open .scope-list li:nth-child(2){ transition-delay:0.24s; }
  .package.open .scope-list li:nth-child(3){ transition-delay:0.30s; }
  .package.open .scope-list li:nth-child(4){ transition-delay:0.36s; }
  .package.open .scope-list li:nth-child(5){ transition-delay:0.42s; }
  .package.open .scope-list li:nth-child(6){ transition-delay:0.48s; }
  .package.open .scope-list li:nth-child(7){ transition-delay:0.54s; }
  .package.open .scope-list li:nth-child(8){ transition-delay:0.60s; }
  .package.open .scope-list li:nth-child(9){ transition-delay:0.66s; }
  .scope-list li::before{
    content:"—";
    position:absolute;
    left:0;
    color:var(--accent);
  }
  @media (prefers-reduced-motion: reduce){
    .package-body{ transition:none; }
    .package-name, .package-price, .pkg-toggle{ transition:none; }
    .package-head:hover .package-name{ transform:none; }
    .scope-list li{ opacity:1 !important; transform:none !important; transition:none !important; }
  }

  /* add-ons: every line opens */
  .addons{ margin-top:1rem; }
  .addon-item{ border-top:1px solid var(--line-op); }
  .addon-item:last-child{ border-bottom:1px solid var(--line-op); }
  .addon-head{
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:1rem;
    padding:0.95rem 0;
    font-size:1rem;
    background:none;
    border:none;
    cursor:pointer;
    text-align:left;
    color:var(--fg);
  }
  .addon-head .item-name{ transition:color 0.2s, transform 0.3s cubic-bezier(0.16,1,0.3,1); }
  .addon-head:hover .item-name{ color:var(--accent); transform:translateX(0.3em); }
  .addon-item.open .item-name{ color:var(--accent); font-weight:700; }
  .addon-right{ display:flex; align-items:baseline; gap:0.9rem; white-space:nowrap; }
  .addon-price{
    font-variant-numeric:tabular-nums;
    font-weight:700;
    transition:color 0.2s;
  }
  .addon-price .per{
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
    font-size:0.75rem;
    color:var(--muted);
    font-weight:400;
  }
  .addon-head:hover .addon-price,
  .addon-item.open .addon-price{ color:var(--accent-2); }
  .addon-plus{
    font-size:1rem;
    color:var(--muted);
    display:inline-block;
    transition:transform 0.3s cubic-bezier(0.16,1,0.3,1), color 0.2s;
  }
  .addon-item.open .addon-plus{ transform:rotate(45deg); color:var(--accent-2); }
  .addon-body{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows 0.5s cubic-bezier(0.16,1,0.3,1);
  }
  .addon-item.open .addon-body{ grid-template-rows:1fr; }
  .addon-body-inner{ overflow:hidden; min-height:0; }
  .addon-desc{
    color:var(--muted);
    font-size:0.96rem;
    line-height:1.65;
    max-width:62ch;
    margin:0;
    padding:0 0 1.2rem;
  }
  .addon-desc strong{ color:var(--fg); }
  @media (prefers-reduced-motion: reduce){
    .addon-body, .addon-plus, .addon-head .item-name, .addon-price{ transition:none; }
    .addon-head:hover .item-name{ transform:none; }
  }

  .math-block{
    margin-top:2.5rem;
    padding:1.8rem;
    border:1px solid var(--line-op);
    border-radius:0.5rem;
    background:var(--surface);
  }
  .math-row{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    padding:0.5rem 0;
    font-size:0.98rem;
    flex-wrap:wrap;
  }
  .math-row.total{
    border-top:1px solid var(--line-op);
    margin-top:0.4rem;
    padding-top:0.9rem;
    font-weight:700;
    font-size:1.15rem;
  }
  .math-row.total .accent-text{ color:var(--accent); }

  /* ---------- work ---------- */
  .work-entry{
    padding-top:clamp(2.2rem,5vw,3.5rem);
    padding-bottom:clamp(2.2rem,5vw,3.5rem);
    border-top:1px solid var(--line-op);
  }
  .work-entry:first-of-type{ border-top:none; padding-top:0; }
  .work-head{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:space-between;
    gap:1rem;
  }
  .work-name{
    font-size:clamp(2.1rem,7vw,5.6rem);
    font-weight:700;
    letter-spacing:-0.03em;
    line-height:0.98;
    max-width:22ch;
  }
  .work-tag{
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
    font-size:0.75rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--accent);
    border:1px solid var(--line-op);
    padding:0.35rem 0.7rem;
    border-radius:999px;
    white-space:nowrap;
  }
  .work-result{
    margin-top:1.1rem;
    font-size:clamp(1.05rem,2vw,1.3rem);
    color:var(--muted);
    max-width:48ch;
  }
  .work-link{
    display:inline-block;
    margin-top:1rem;
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
    font-size:0.78rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--accent);
    border-bottom:1px solid var(--accent);
    padding-bottom:0.15rem;
  }
  .work-link:hover{ color:var(--accent-2); border-color:var(--accent-2); }
  .work-note{
    margin-top:2.5rem;
    font-size:0.85rem;
    color:var(--muted);
    font-style:italic;
  }

  /* ---------- contact ---------- */
  .contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(2.5rem,6vw,5rem);
  }
  @media (max-width:900px){
    .contact-grid{ grid-template-columns:1fr; }
  }
  .contact-block + .contact-block{
    padding-top:1.5rem;
  }
  .contact-label{
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
    font-size:0.72rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--muted);
    display:block;
    margin-bottom:0.6rem;
  }
  .big-phone{
    font-size:clamp(2rem,6vw,3.6rem);
    font-weight:700;
    letter-spacing:-0.02em;
    display:inline-block;
  }
  .big-phone:hover{ color:var(--accent); }
  .locations{
    font-size:1rem;
    color:var(--muted);
    line-height:1.7;
  }
  .locations strong{ color:var(--fg); font-weight:700; }

  form.mock-form{
    display:grid;
    gap:1.2rem;
    max-width:640px;
  }
  .field{
    display:flex;
    flex-direction:column;
    gap:0.5rem;
  }
  .field label{
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
    font-size:0.72rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--muted);
  }
  .field input,
  .field select,
  .field textarea{
    background:var(--surface);
    border:1px solid var(--line-op);
    border-radius:0.35rem;
    padding:0.85rem 0.9rem;
    font-size:1rem;
    color:var(--fg);
    width:100%;
  }
  .field input:focus,
  .field select:focus,
  .field textarea:focus{
    outline:none;
    border-color:var(--accent);
  }
  .field textarea{ resize:vertical; min-height:110px; }
  .promise{
    font-size:1.05rem;
    line-height:1.6;
    max-width:44ch;
  }

  /* ---------- footer ---------- */
  footer.site-footer{
    padding:2.2rem clamp(1.1rem,4vw,3rem);
    text-align:center;
    font-size:0.8rem;
    letter-spacing:0.03em;
    color:var(--muted);
    font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  }

  /* ---------- reveal ---------- */
  html.js .reveal{
    opacity:0;
    transform:translateY(14px);
    transition:opacity 0.6s ease, transform 0.6s ease;
  }
  html.js .reveal.in-view{
    opacity:1;
    transform:translateY(0);
  }
  @media (prefers-reduced-motion: reduce){
    html.js .reveal{ transition:none !important; opacity:1 !important; transform:none !important; }
  }

  [hidden]{ display:none !important; }
  /* ---------- multi-page additions ---------- */
  .hp-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
