:root {
      --orange: #ff6a00;
      --orange-bright: #ff7a00;
      --orange-dark: #b94b00;
      --black: #050505;
      --panel: #101010;
      --panel-2: #171717;
      --steel: #242424;
      --line: #343434;
      --muted: #a9a9a9;
      --light: #f4f1ea;
      --max: 1220px;
      --shadow: 0 18px 50px rgba(0,0,0,.45);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; background: var(--black); }
    body {
      margin: 0;
      background:
        radial-gradient(circle at 20% 0%, rgba(255,106,0,.08), transparent 26rem),
        linear-gradient(180deg, #060606 0%, #0b0b0b 45%, #050505 100%);
      color: var(--light);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height: 1.6;
      overflow-x: hidden;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      opacity: .16;
      background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
      background-size: 42px 42px;
      mask-image: linear-gradient(to bottom, #000, transparent 70%);
      z-index: 0;
    }

    main { position: relative; z-index: 1; }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }
    p { margin: 0 0 1rem; }
    h1, h2, h3, h4 { margin: 0; line-height: 1.04; }

    h1, h2, h3,
    .brand span,
    .t-amt,
    .trade-strip a,
    .button,
    .banner-navigation a,
    .site-header nav a {
      font-family: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
      letter-spacing: .035em;
    }

    h1 { font-size: clamp(2.6rem, 5vw, 4.6rem); line-height: 1.03; }
    h2 { font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.06; }
    h3 { font-size: clamp(1.4rem, 2.3vw, 2rem); }
    em { color: var(--orange); font-style: normal; }
    strong, b { color: #fff; }

    .site-header {
      width: min(calc(100% - 36px), var(--max));
      min-height: 78px;
      margin: 16px auto 0;
      padding: 10px 12px 10px 16px;
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 28px;
      position: sticky;
      top: 12px;
      z-index: 50;
      background: rgba(7,7,7,.88);
      border: 1px solid rgba(255,106,0,.42);
      border-left: 5px solid var(--orange);
      box-shadow: 0 16px 40px rgba(0,0,0,.45);
      backdrop-filter: blur(14px);
    }

    .brand { display: inline-flex; align-items: center; gap: 11px; text-transform: uppercase; }
    .brand-logo { width: 44px; height: 44px; object-fit: contain; }
    .brand span { color: var(--orange); font-size: 1.25rem; white-space: nowrap; }

    .site-header nav { display: flex; justify-content: center; gap: clamp(12px, 2vw, 30px); }
    .site-header nav a {
      color: #d6d6d6;
      font-size: .84rem;
      text-transform: uppercase;
      letter-spacing: .08em;
      padding: 9px 0;
      position: relative;
    }
    .site-header nav a::after {
      content: "";
      position: absolute; left: 0; right: 100%; bottom: 4px; height: 2px;
      background: var(--orange); transition: .2s ease;
    }
    .site-header nav a:hover { color: var(--orange); }
    .site-header nav a:hover::after { right: 0; }
    .header-actions { display: flex; align-items: center; gap: 8px; }

    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 50px;
      padding: 0 22px;
      border: 2px solid var(--orange);
      border-radius: 7px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .07em;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    }
    .button:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(255,106,0,.22); }
    .button-primary { color: #070707; background: var(--orange); }
    .button-primary:hover { background: #ff8126; }
    .button-secondary { color: var(--orange); background: #101010; }
    .button-light { background: #fff; color: #050505; border-color: #fff; }
    .button-small { min-height: 40px; padding: 0 15px; font-size: .78rem; }

    .brand-banner {
      width: min(calc(100% - 36px), var(--max));
      margin: 18px auto 0;
      position: relative;
      overflow: hidden;
      min-height: 160px;
      border: 1px solid #2b2b2b;
      border-bottom: 5px solid var(--orange);
      background:
        linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.42) 58%, rgba(0,0,0,.82) 100%),
        #111;
      box-shadow: var(--shadow);
    }
    .brand-banner::before {
      content: ;
      ;
    }
    .brand-banner::after {
      content: "";
      position: absolute;
      left: 5%; top: 67%;
      color: #fff;
      font: 800 .9rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      letter-spacing: .18em;
      z-index: 2
    }
    .brand-banner > img { width: 100%; height: 280px; object-fit: cover; ; mix-blend-mode: screen; }
    .banner-navigation {
      position: absolute; z-index: 3; right: 20px; bottom: 18px;
      display: flex; gap: 7px; ; justify-content: flex-end;
    }
    .banner-navigation a {
      background: rgba(0,0,0,.82); border: 1px solid #4a4a4a; color: #ddd;
      padding: 7px 11px; font-size: .74rem; text-transform: uppercase; letter-spacing: .07em;
    }
    .banner-navigation a:hover { color: #050505; background: var(--orange); border-color: var(--orange); }

    .hero {
      width: min(calc(100% - 36px), var(--max));
      margin: 0 auto;
      padding: clamp(40px, 5vw, 72px) 0 56px;
      display: grid;
      grid-template-columns: 1.06fr .94fr;
      align-items: center;
      gap: clamp(40px, 7vw, 90px);
      position: relative;
    }
    .hero::before {
      content: "";
      position: absolute;
      left: -30px; top: 50px; bottom: 65px; width: 4px;
      background: linear-gradient(var(--orange), transparent);
    }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--orange);
      font: 800 .78rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      letter-spacing: .18em;
      text-transform: uppercase;
      margin-bottom: 18px;
    }
    .eyebrow::before { content: "//"; color: #666; }
    .hero h1 { max-width: 900px; }
    .hero h1 em { display: inline-block; }
    .hero-lede { max-width: 720px; color: #b9b9b9; font-size: clamp(1.02rem, 1.4vw, 1.2rem); margin-top: 28px; }
    .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 30px; }
    .trust-line { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 26px; color: #999; font-size: .88rem; }
    .check { color: var(--orange); font-weight: 900; }

    .hero-visual {
      min-height: 500px;
      position: relative;
      overflow: hidden;
      border: 1px solid #383838;
      border-right: 5px solid var(--orange);
      background:
        linear-gradient(135deg, rgba(0,0,0,.2), rgba(0,0,0,.85)),
        repeating-linear-gradient(0deg, transparent 0 42px, rgba(255,255,255,.025) 42px 43px),
        repeating-linear-gradient(90deg, transparent 0 42px, rgba(255,255,255,.02) 42px 43px),
        radial-gradient(circle at 70% 30%, rgba(255,106,0,.22), transparent 30%),
        #151515;
      box-shadow: var(--shadow);
    }
    .hero-visual::before { content: none; }
    .hero-visual::after {
      content: "PHOTO  •  VOICE  •  QUOTE  •  SCHEDULE  •  INVOICE";
      position: absolute; left: 24px; right: 24px; top: 48%;
      padding: 12px 16px;
      color: #bdbdbd;
      border-top: 1px solid #333; border-bottom: 1px solid #333;
      font: 700 .68rem/1.2 ui-monospace, monospace;
      letter-spacing: .14em;
    }
    .time-card {
      position: absolute; left: 26px; bottom: 74px; right: 26px;
      display: grid; grid-template-columns: 48px 1fr; gap: 15px; align-items: center;
      padding: 18px;
      background: rgba(5,5,5,.94);
      border: 1px solid #404040;
      border-left: 5px solid var(--orange);
    }
    .time-icon { color: var(--orange); font-size: 2rem; font-weight: 900; }
    .time-card strong { display: block; text-transform: uppercase; letter-spacing: .05em; }
    .time-card small { color: #888; display: block; margin-top: 3px; }
    .photo-tag {
      position: absolute; left: 26px; bottom: 24px;
      color: #aaa; font: 700 .7rem ui-monospace, monospace; letter-spacing: .09em; text-transform: uppercase;
    }
    .live-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; background: var(--orange); box-shadow: 0 0 0 5px rgba(255,106,0,.12); margin-right: 7px; }

    .trade-strip {
      border-top: 1px solid #30271f;
      border-bottom: 1px solid #30271f;
      background: #0c0c0c;
      padding: 28px max(18px, calc((100vw - var(--max))/2));
      text-align: center;
    }
    .trade-strip p { color: #888; text-transform: uppercase; letter-spacing: .12em; font-size: .76rem; font-weight: 800; }
    .trade-strip div { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
    .trade-strip a {
      border: 1px solid #4a3323; border-left: 4px solid var(--orange); background: #111;
      padding: 8px 14px; color: var(--orange); text-transform: uppercase; letter-spacing: .075em; font-size: .94rem;
    }

    .section { width: min(calc(100% - 36px), var(--max)); margin: 0 auto; padding: clamp(58px, 6.5vw, 100px) 0; }
    .section + .section { border-top: 1px solid #1d1d1d; }
    .section-heading { margin-bottom: 44px; }
    .section-heading.narrow { max-width: 850px; }
    .section-heading > p:not(.eyebrow), .section-heading > div + p { color: #a5a5a5; max-width: 780px; margin-top: 18px; }
    .split-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: end; }

    .vs { border: 1px solid #313131; background: #0b0b0b; box-shadow: var(--shadow); }
    .vs-head, .vs-row { display: grid; grid-template-columns: 160px 1fr 1fr; }
    .vs-head { background: #151515; border-bottom: 2px solid var(--orange); }
    .vs-head span { padding: 15px 18px; text-transform: uppercase; font: 800 .76rem ui-monospace, monospace; letter-spacing: .08em; }
    .vh-most { color: #888; }
    .vh-ryt { color: var(--orange); }
    .vs-row { border-bottom: 1px solid #272727; }
    .vs-row:last-child { border-bottom: 0; }
    .vs-row span { padding: 20px 18px; }
    .vs-row .cat { color: var(--orange); font-weight: 900; text-transform: uppercase; font-size: .82rem; letter-spacing: .08em; border-right: 1px solid #292929; }
    .vs-row .most { color: #7f7f7f; border-right: 1px solid #292929; }
    .vs-row .ryt { color: #c8c8c8; background: linear-gradient(90deg, rgba(255,106,0,.055), transparent); }

    .feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .feature-card, .tier, .ref-card {
      position: relative;
      overflow: hidden;
      background: linear-gradient(155deg, #171717, #0d0d0d 60%);
      border: 1px solid #333;
      border-top: 3px solid #3d3d3d;
      padding: 30px;
      box-shadow: 0 15px 35px rgba(0,0,0,.25);
    }
    /* decorative corner squares removed for restraint */
    .feature-card:hover, .tier:hover, .ref-card:hover { border-color: #55412e; border-top-color: var(--orange); transform: translateY(-2px); transition: .18s ease; }
    .feature-large { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr .9fr; gap: 45px; min-height: 430px; align-items: center; }
    .feature-number { color: var(--orange); font: 900 .74rem ui-monospace, monospace; letter-spacing: .18em; }
    .feature-card h3 { margin-top: 15px; }
    .feature-card p { color: #9d9d9d; margin-top: 16px; }
    .feature-copy > a { display: inline-block; margin-top: 8px; color: var(--orange); text-transform: uppercase; font-weight: 900; letter-spacing: .06em; }
    .mini-icon { margin-top: 34px; width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid #4c3525; background: #0a0a0a; color: var(--orange); font-size: 1.45rem; }

    .phone-mock {
      width: min(100%, 390px); margin: auto; padding: 18px; min-height: 340px;
      border: 7px solid #252525; outline: 1px solid #555; border-radius: 22px;
      background: linear-gradient(#0a0a0a, #161616); box-shadow: 0 26px 60px rgba(0,0,0,.6);
    }
    .phone-top { display: flex; justify-content: space-between; color: #7d7d7d; font-size: .74rem; border-bottom: 1px solid #292929; padding-bottom: 14px; }
    .phone-top strong { color: #dcdcdc; }
    .wave { height: 85px; margin: 45px 0 28px; display: flex; justify-content: center; align-items: center; gap: 5px; }
    .wave i { display: block; width: 5px; background: var(--orange); border-radius: 4px; }
    .wave i:nth-child(1), .wave i:nth-child(11) { height: 20px; }
    .wave i:nth-child(2), .wave i:nth-child(10) { height: 42px; }
    .wave i:nth-child(3), .wave i:nth-child(9) { height: 60px; }
    .wave i:nth-child(4), .wave i:nth-child(8) { height: 34px; }
    .wave i:nth-child(5), .wave i:nth-child(7) { height: 73px; }
    .wave i:nth-child(6) { height: 50px; }
    .phone-mock > p { color: #aaa; font-size: .92rem; }
    .processing { margin-top: 22px; padding: 12px; border: 1px solid #3a2a1f; background: rgba(255,106,0,.06); color: #d4a47e; font-size: .77rem; text-transform: uppercase; letter-spacing: .06em; }

    .workflow { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(40px, 7vw, 90px); align-items: center; }
    .workflow-visual { padding: 16px; background: #111; border: 1px solid #2d2d2d; }
    .app-window { display: grid; grid-template-columns: 58px 1fr; min-height: 430px; border: 1px solid #424242; background: #090909; box-shadow: var(--shadow); }
    .app-sidebar { border-right: 1px solid #2a2a2a; display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 15px 8px; color: #5f5f5f; }
    .app-sidebar b { color: var(--orange); }
    .app-sidebar span { width: 34px; height: 34px; display: grid; place-items: center; }
    .app-sidebar .active { background: var(--orange); color: #080808; }
    .app-main { padding: 24px; overflow: hidden; }
    .app-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 20px; border-bottom: 1px solid #282828; }
    .app-head small, .jobs small { display: block; color: #8c8c8c; }
    .app-head strong { display: block; margin-top: 3px; }
    .app-head button { border: 0; background: var(--orange); color: #070707; padding: 9px 12px; font-weight: 900; }
    .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 16px 0; }
    .stats div { background: #121212; border: 1px solid #292929; padding: 13px; }
    .stats small { display: block; color: #747474; }
    .stats b { font-size: 1.6rem; }
    .stats .orange { color: var(--orange); }
    .jobs h4 { margin: 16px 0 8px; text-transform: uppercase; color: #8b8b8b; }
    .jobs > div { display: grid; grid-template-columns: 48px 34px 1fr auto; gap: 10px; align-items: center; padding: 12px 0; border-bottom: 1px solid #242424; }
    .job-time { color: #8d8d8d; font-size: .8rem; }
    .avatar { width: 32px; height: 32px; display: grid; place-items: center; background: #242424; color: var(--orange); font-size: .7rem; font-weight: 900; }
    .jobs p { margin: 0; font-size: .83rem; }
    .jobs mark { background: rgba(255,106,0,.12); color: var(--orange); padding: 4px 7px; font-size: .68rem; }
    .jobs .scheduled { color: #aaa; background: #1d1d1d; }
    .workflow-copy > p:not(.eyebrow) { color: #a5a5a5; margin-top: 20px; }
    .workflow-copy ul { list-style: none; padding: 0; margin: 28px 0 0; }
    .workflow-copy li { display: grid; grid-template-columns: 28px 1fr; gap: 8px; padding: 13px 0; border-bottom: 1px solid #242424; color: #999; }
    .workflow-copy li strong { display: block; text-transform: uppercase; letter-spacing: .05em; }

    .proof { text-align: center; max-width: 980px; }
    .proof blockquote { margin: 10px auto 26px; color: #eee; font-size: clamp(1.55rem, 3vw, 2.8rem); font-weight: 800; line-height: 1.28; text-wrap: balance; }
    .proof blockquote::before, .proof blockquote::after { color: var(--orange); }
    .proof > p:last-child { color: #777; }

    .tiers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
    .tier { padding-top: 36px; min-height: 360px; }
    .tier.feat { border-color: var(--orange); box-shadow: 0 0 0 1px rgba(255,106,0,.2), 0 20px 50px rgba(0,0,0,.45); }
    .tier.feat::before { content: "MOST POPULAR"; position: absolute; right: 16px; top: 14px; color: var(--orange); font: 700 .62rem "Archivo", sans-serif; letter-spacing: .14em; }
    .t-name { color: var(--orange); text-transform: uppercase; font: 900 .77rem ui-monospace, monospace; letter-spacing: .13em; }
    .t-amt { font-size: clamp(2.7rem, 4vw, 4.2rem); margin-top: 18px; }
    .t-amt small { color: #8f8f8f; font-family: inherit; font-size: .9rem; }
    .t-who { color: #8d8d8d; min-height: 72px; }
    .tier ul { list-style: none; padding: 0; margin: 20px 0 0; }
    .tier li { color: #aaa; padding: 8px 0; border-top: 1px solid #252525; font-size: .9rem; }
    .pricing-note, .referral-note { margin-top: 24px; text-align: center; color: #8d8d8d; }

    .referral-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
    .ref-card { min-height: 245px; }
    .ref-step { color: var(--orange); font: 900 .75rem ui-monospace, monospace; text-transform: uppercase; letter-spacing: .14em; }
    .ref-card h3 { margin-top: 18px; }
    .ref-card p { margin-top: 17px; color: #8e8e8e; }

    .faq { display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; align-items: start; }
    .faq-list details { border-top: 1px solid #353535; }
    .faq-list details:last-child { border-bottom: 1px solid #353535; }
    .faq-list summary { list-style: none; cursor: pointer; padding: 20px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-weight: 900; color: #d5d5d5; }
    .faq-list summary::-webkit-details-marker { display: none; }
    .faq-list summary span { color: var(--orange); font-size: 1.35rem; }
    .faq-list details[open] summary { color: var(--orange); }
    .faq-list details p { color: #8e8e8e; padding: 0 0 20px; }

    .final-cta {
      margin-top: 35px;
      padding: clamp(80px, 10vw, 130px) 20px;
      text-align: center;
      position: relative;
      overflow: hidden;
      border-top: 5px solid var(--orange);
      border-bottom: 5px solid var(--orange);
      background:
        linear-gradient(rgba(0,0,0,.84), rgba(0,0,0,.92)),
        radial-gradient(circle at 50% 0%, rgba(255,106,0,.18), transparent 62%),
        #0a0a0a;
    }
    .final-cta::before { content: ""; position: absolute; inset: 20px; border: 1px solid rgba(255,106,0,.32); pointer-events: none; }
    .final-cta > div { position: relative; z-index: 1; max-width: 900px; margin: 0 auto; }
    .final-cta p:not(.eyebrow) { max-width: 720px; margin: 20px auto 0; color: #b4b4b4; }

    footer {
      width: min(calc(100% - 36px), var(--max));
      margin: 0 auto;
      padding: 60px 0 34px;
      display: grid;
      grid-template-columns: 1.5fr repeat(3, .7fr);
      gap: 35px;
      position: relative;
    }
    footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--orange); }
    footer strong { display: block; color: var(--orange); text-transform: uppercase; font: 900 .75rem ui-monospace, monospace; letter-spacing: .12em; margin-bottom: 12px; }
    footer a:not(.brand) { display: block; color: #8f8f8f; padding: 5px 0; }
    footer a:hover { color: var(--orange); }
    .footer-brand p { color: #777; margin-top: 14px; }
    .copyright { grid-column: 1 / -1; padding-top: 28px; border-top: 1px solid #242424; color: #8c8c8c; font-size: .8rem; }



    /* ===== TRADE SHOW RADAR ===== */
    .trade-show-section {
      width: min(calc(100% - 36px), 1360px);
      margin: 0 auto;
      padding: 110px 0 105px;
      scroll-margin-top: 105px;
    }
    .ts-intro {
      display: grid;
      grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr);
      gap: 38px;
      align-items: end;
      margin-bottom: 26px;
    }
    .ts-intro h2 { font-size: clamp(2.9rem, 6vw, 5.8rem); }
    .ts-intro > div > p:last-child { max-width: 820px; color: #b9b9b9; font-size: 1.03rem; line-height: 1.7; margin-top: 18px; }
    .ts-refresh-card { border: 1px solid var(--line); border-left: 4px solid var(--orange); background: linear-gradient(135deg,#151515,#0e0e0e); padding: 18px 20px; box-shadow: 0 16px 40px rgba(0,0,0,.3); }
    .ts-refresh-card small { display: block; color: #777; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; margin-bottom: 4px; }
    .ts-refresh-card strong { font-family: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 1.3rem; color: var(--orange); text-transform: uppercase; letter-spacing: .04em; }
    .ts-refresh-card p { color: #a9a9a9; font-size: .86rem; line-height: 1.5; margin: 8px 0 0; }
    .ts-load-error { padding: 12px 16px; background: #2a1307; border: 1px solid #71320f; color: #f1b383; margin-bottom: 14px; display: none; }
    .ts-toolbar { display: grid; grid-template-columns: 1.35fr .8fr .65fr auto; gap: 10px; margin: 14px 0 18px; }
    .ts-control { min-height: 48px; border: 1px solid #3b3b3b; background: #111; color: #eee; padding: 0 14px; outline: none; font: inherit; }
    .ts-control:focus { border-color: var(--orange); box-shadow: 0 0 0 2px rgba(255,106,0,.16); }
    select.ts-control { appearance: auto; }
    .ts-clear { min-height: 48px; border: 1px solid var(--orange); background: #141414; color: var(--orange); font-weight: 900; text-transform: uppercase; letter-spacing: .06em; padding: 0 18px; cursor: pointer; }
    .ts-status-strip { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
    .ts-stat { background: #111; border: 1px solid #2e2e2e; padding: 8px 11px; font-size: .78rem; color: #aaa; }
    .ts-stat b { color: #fff; }
    .ts-stat.orange b { color: var(--orange); }
    .ts-workspace { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(320px,.75fr); gap: 18px; align-items: start; }
    .ts-map-panel, .ts-list-panel { border: 1px solid #313131; background: linear-gradient(180deg,#111,#0b0b0b); box-shadow: 0 18px 55px rgba(0,0,0,.28); }
    .ts-map-head { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 16px 18px; border-bottom: 1px solid #303030; }
    .ts-map-head h3, .ts-list-head h3 { font-size: 1.45rem; text-transform: uppercase; letter-spacing: .04em; }
    .ts-legend { display: flex; align-items: center; gap: 8px; color: #999; font-size: .76rem; }
    .ts-legend-beam { width: 8px; height: 24px; border-radius: 9px; background: linear-gradient(to top,var(--orange),rgba(255,106,0,0)); box-shadow: 0 0 16px rgba(255,106,0,.8); }
    #ts-mapWrap { position: relative; padding: 8px; min-height: 520px; overflow: hidden; background: radial-gradient(circle at 50% 45%,rgba(255,106,0,.035),transparent 30rem),repeating-linear-gradient(0deg,transparent 0 31px,rgba(255,255,255,.018) 31px 32px),repeating-linear-gradient(90deg,transparent 0 31px,rgba(255,255,255,.014) 31px 32px); }
    #ts-map { width: 100%; height: auto; display: block; }
    .ts-state { fill: #181818; stroke: #5a5a5a; stroke-width: .75; vector-effect: non-scaling-stroke; transition: .18s; }
    .ts-state.has-events { fill: #23170f; stroke: #79604e; }
    .ts-state:hover, .ts-state.selected { fill: #4b260b; stroke: var(--orange); stroke-width: 1.6; }
    .ts-state-label { font: 700 8px/1 ui-sans-serif,system-ui,sans-serif; fill: #818181; text-anchor: middle; pointer-events: none; }
    .ts-state-label.active { fill: #e6e0d8; }
    .ts-beam { stroke: var(--orange); stroke-width: 2; stroke-linecap: round; filter: url(#ts-beamGlow); opacity: .92; pointer-events: none; animation: tsBeamPulse 1.8s ease-in-out infinite; }
    .ts-pin { fill: var(--orange); stroke: #fff; stroke-width: 1.25; filter: url(#ts-pinGlow); cursor: pointer; animation: tsPinPulse 1.8s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
    .ts-pin-hit { fill: transparent; cursor: pointer; }
    .ts-pin.selected { stroke-width: 3; transform: scale(1.55); }
    @keyframes tsBeamPulse { 50% { opacity: .45; } }
    @keyframes tsPinPulse { 50% { opacity: .72; } }
    @media (prefers-reduced-motion: reduce) { .ts-beam, .ts-pin { animation: none; } }
    .ts-map-note { padding: 12px 16px; border-top: 1px solid #292929; color: #888; font-size: .78rem; }
    .ts-list-panel { max-height: 790px; display: flex; flex-direction: column; position: sticky; top: 100px; }
    .ts-list-head { padding: 16px 16px 12px; border-bottom: 1px solid #303030; }
    .ts-list-head p { color: #888; font-size: .82rem; margin: 6px 0 0; }
    .ts-event-list { overflow: auto; padding: 10px; }
    .ts-event-card { display: block; border: 1px solid #2d2d2d; background: #121212; padding: 14px; margin-bottom: 9px; transition: .16s; }
    .ts-event-card:hover, .ts-event-card.selected { border-color: var(--orange); background: #18120e; }
    .ts-event-top { display: flex; justify-content: space-between; gap: 12px; }
    .ts-event-card h3 { font-size: 1.12rem; text-transform: uppercase; letter-spacing: .025em; }
    .ts-event-date { font-weight: 900; color: var(--orange); font-size: .8rem; white-space: nowrap; }
    .ts-event-meta { color: #aaa; font-size: .79rem; line-height: 1.45; margin-top: 8px; }
    .ts-tag { display: inline-flex; margin-top: 10px; border: 1px solid #454545; padding: 3px 7px; font-size: .67rem; color: #c7c7c7; text-transform: uppercase; letter-spacing: .08em; }
    .ts-visit { display: inline-flex; align-items: center; gap: 5px; margin-top: 11px; color: var(--orange); font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
    .ts-empty { padding: 28px 18px; color: #888; text-align: center; }
    .ts-selected-detail { margin-top: 18px; border: 1px solid rgba(255,106,0,.4); border-left: 5px solid var(--orange); background: #100d0b; padding: 18px; display: none; }
    .ts-selected-detail.show { display: block; }
    .ts-selected-detail h2 { font-size: clamp(1.8rem,4vw,3rem); }
    .ts-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
    .ts-detail-item { border-top: 1px solid #383838; padding-top: 9px; }
    .ts-detail-item small { display: block; color: #777; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
    .ts-detail-item b { display: block; margin-top: 4px; }
    .ts-coverage-note { padding: 24px 0 0; color: #737373; font-size: .78rem; line-height: 1.6; }
    .ts-coverage-note b { color: #aaa; }
    @media (max-width: 980px) {
      .ts-intro, .ts-workspace { grid-template-columns: 1fr; }
      .ts-list-panel { position: static; max-height: none; }
      .ts-event-list { max-height: none; }
      .ts-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .ts-toolbar { grid-template-columns: 1fr 1fr; }
      .ts-toolbar .ts-search { grid-column: 1 / -1; }
    }
    @media (max-width: 700px) {
      .trade-show-section { width: calc(100% - 30px); padding: 80px 0; }
      .ts-toolbar { grid-template-columns: 1fr; }
      .ts-toolbar .ts-search { grid-column: auto; }
      .ts-detail-grid { grid-template-columns: 1fr; }
      #ts-mapWrap { min-height: 360px; }
      .ts-map-head { align-items: flex-start; flex-direction: column; }
      .ts-event-top { flex-direction: column; }
      .ts-event-date { white-space: normal; }
    }

    @media (max-width: 980px) {
      .site-header { grid-template-columns: 1fr auto; }
      .site-header nav { display: none; }
      .hero, .workflow, .faq, .split-heading { grid-template-columns: 1fr; }
      .hero { padding-top: 70px; }
      .hero-visual { min-height: 390px; }
      .tiers { grid-template-columns: repeat(2, 1fr); }
      .vs-head, .vs-row { grid-template-columns: 120px 1fr 1fr; }
      footer { grid-template-columns: 1.3fr repeat(3, 1fr); }
    }

    @media (max-width: 700px) {
      :root { --max: 100%; }
      .site-header { width: calc(100% - 20px); margin-top: 10px; top: 6px; }
      .brand span { display: none; }
      .header-actions .button-secondary { display: none; }
      .brand-banner { width: calc(100% - 20px); min-height: 230px; }
      .brand-banner > img { height: 260px; }
      .brand-banner::before { font-size: clamp(2.8rem, 15vw, 4.4rem); max-width: 80%; }
      .brand-banner::after { top: 72%; font-size: .62rem; }
      .banner-navigation { display: none; }
      .hero, .section { width: calc(100% - 30px); }
      .hero::before { display: none; }
      h1 { font-size: clamp(3rem, 16vw, 4.8rem); }
      h2 { font-size: clamp(2.3rem, 11vw, 3.5rem); }
      .feature-grid, .referral-grid, .tiers { grid-template-columns: 1fr; }
      .feature-large { grid-template-columns: 1fr; }
      .vs { overflow-x: auto; }
      .vs-head, .vs-row { min-width: 730px; }
      .app-main { padding: 15px; }
      .jobs > div { grid-template-columns: 42px 30px 1fr; }
      .jobs mark { display: none; }
      footer { width: calc(100% - 30px); grid-template-columns: 1fr 1fr; }
      .footer-brand { grid-column: 1 / -1; }
    }
  
    /* ================= LIGHT THEME OVERRIDE ================= */
    :root{ --ink:#151b24; --soft:#5a6474; --line:#e6e7ec; --navy:#0e1b2e; --navy2:#14263f;
           --orange-ink:#c05200; --surface:#ffffff; --alt:#f4f5f8; }
    html{ background:#fbfaf8; scroll-behavior:smooth; }
    body{ background:#fbfaf8; color:var(--ink); }
    body::before{ opacity:.045;
      background-image:linear-gradient(rgba(20,26,34,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(20,26,34,.04) 1px,transparent 1px);
      mask-image:linear-gradient(to bottom,#000,transparent 60%); }
    strong,b{ color:var(--ink); }
    em{ color:var(--orange-ink); }

    /* header */
    .site-header{ background:rgba(255,255,255,.9); border:1px solid var(--line); border-left:4px solid var(--orange);
      box-shadow:0 10px 34px rgba(18,28,40,.09); }
    .site-header nav a{ color:#3c4453; }
    .site-header nav a:hover{ color:var(--orange-ink); }
    .brand span{ color:var(--orange-ink); }

    /* buttons */
    .button{ border-radius:8px; }
    .button-primary{ background:var(--orange); color:#20150a; border-color:var(--orange); }
    .button-primary:hover{ background:#ff8126; }
    .button-secondary{ background:#fff; color:var(--orange-ink); border-color:#e3d6c8; }
    .button-light{ background:var(--navy); color:#fff; border-color:var(--navy); }

    /* brand banner -> navy */
    .brand-banner{ background:linear-gradient(90deg,var(--navy) 0%,rgba(14,27,46,.6) 60%,var(--navy) 100%),var(--navy2);
      border:1px solid #24344a; border-bottom:4px solid var(--orange); }
    .brand-banner > img{ opacity:.28; }

    /* HERO = navy panel (light page, dark hero) */
    .hero{ background:radial-gradient(120% 90% at 15% 0%,rgba(255,106,0,.14),transparent 40%),var(--navy);
      border:1px solid #22334a; border-radius:20px; padding-inline:clamp(24px,4vw,56px); }
    .hero::before{ display:none; }
    .hero h1{ color:#fff; } .hero .eyebrow{ color:#ff8a3a; }
    .hero .hero-lede{ color:#c3ccd8; }
    .hero .trust-line{ color:#9fabbb; } .hero .check{ color:#ff8a3a; }
    .hero .button-secondary{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
    .hero-visual{ background:radial-gradient(circle at 70% 25%,rgba(255,106,0,.25),transparent 32%),var(--navy2);
      border:1px solid #2a3c54; border-right:4px solid var(--orange); }
    .hero-visual::after{ color:#cdd6e2; border-color:#33465e; }
    .time-card{ background:rgba(9,17,29,.94); border:1px solid #33465e; border-left:4px solid var(--orange); }
    .time-card strong{ color:#fff; } .time-card small{ color:#9aa6b6; }
    .photo-tag{ color:#aeb9c7; }

    /* trade strip = navy accent band */
    .trade-strip{ background:var(--navy); border-color:#22344c; }
    .trade-strip p{ color:#93a1b4; }
    .trade-strip a{ background:#132840; border:1px solid #34557a; border-left:4px solid var(--orange); color:#ff8a3a; }

    /* light sections */
    .section + .section{ border-top:1px solid var(--line); }
    .section-heading h2, .workflow-copy h2{ color:var(--ink); }
    .section-heading > p:not(.eyebrow), .section-heading > div + p, .workflow-copy > p:not(.eyebrow){ color:var(--soft); }
    .eyebrow{ color:var(--orange-ink); }
    .eyebrow::before{ color:#cbb59a; }

    /* comparison table */
    .vs{ background:#fff; border:1px solid var(--line); box-shadow:0 16px 40px rgba(18,28,40,.06); }
    .vs-head{ background:var(--navy); border-bottom:2px solid var(--orange); }
    .vs-head span{ color:#c7d0dc; } .vh-ryt{ color:#ff8a3a; }
    .vs-row{ border-bottom:1px solid var(--line); }
    .vs-row .cat{ color:var(--orange-ink); border-right:1px solid var(--line); }
    .vs-row .most{ color:var(--soft); border-right:1px solid var(--line); }
    .vs-row .ryt{ color:var(--ink); background:linear-gradient(90deg,rgba(255,106,0,.06),transparent); }
    .vs-row .ryt b{ color:var(--ink); }

    /* feature cards (light) + big card (navy) */
    .feature-card{ background:#fff; border:1px solid var(--line); border-top:3px solid #e6e7ec; box-shadow:0 12px 30px rgba(18,28,40,.05); }
    .feature-card:hover{ border-color:#f2c9a6; border-top-color:var(--orange); }
    .feature-card h3{ color:var(--ink); } .feature-card p{ color:var(--soft); }
    .mini-icon{ background:#fff5ee; border:1px solid #f3d3b6; color:var(--orange-ink); }
    .feature-large{ background:radial-gradient(circle at 85% 15%,rgba(255,106,0,.18),transparent 40%),var(--navy); border-top-color:var(--navy); }
    .feature-large h3{ color:#fff; } .feature-large p{ color:#c3ccd8; }
    .feature-large .feature-copy > a{ color:#ff8a3a; }
    .phone-mock{ background:#fff; border:7px solid #e7e8ee; outline:1px solid #d9dbe2; box-shadow:0 24px 55px rgba(18,28,40,.22); }
    .phone-top{ color:#7c8494; border-color:#eceef2; } .phone-top strong{ color:var(--ink); }
    .phone-mock > p{ color:#5a6474; background:#f4f5f8; }
    .processing{ background:#fff5ee; border:1px solid #f3d3b6; color:#b8560f; }

    /* workflow app mock (light) */
    .workflow-visual{ background:#eef0f4; border:1px solid var(--line); }
    .app-window{ background:#fff; border:1px solid var(--line); box-shadow:0 20px 45px rgba(18,28,40,.12); }
    .app-sidebar{ background:var(--navy); border-right:1px solid #22344c; color:#8595a8; }
    .app-head{ border-color:#eceef2; } .app-head small{ color:#8a93a2; } .app-head strong{ color:var(--ink); }
    .stats div{ background:#f7f8fb; border:1px solid var(--line); } .stats small{ color:#8a93a2; } .stats b{ color:var(--ink); }
    .jobs h4{ color:#8a93a2; } .jobs > div{ border-color:#eceef2; } .jobs p b{ color:var(--ink);} .jobs small{ color:#8a93a2; }
    .avatar{ background:#fff2e8; color:var(--orange-ink); }
    .jobs mark{ background:#fff0e2; color:var(--orange-ink); } .jobs .scheduled{ background:#eef0f4; color:#5a6474; }
    .workflow-copy li{ border-color:#eceef2; color:var(--soft); } .workflow-copy li strong{ color:var(--ink); }

    /* proof = navy band */
    .proof{ background:var(--navy); border-radius:20px; }
    .proof blockquote{ color:#fff; } .proof > p:last-child{ color:#93a1b4; }

    /* pricing */
    .tier{ background:#fff; border:1px solid var(--line); border-top:3px solid #e6e7ec; box-shadow:0 12px 30px rgba(18,28,40,.05); }
    .tier.feat{ border-color:var(--orange); box-shadow:0 0 0 1px rgba(255,106,0,.25),0 22px 48px rgba(18,28,40,.12); }
    .t-name{ color:var(--orange-ink); } .t-amt{ color:var(--ink); } .t-amt small{ color:#8a93a2; }
    .t-who{ color:var(--soft); } .tier li{ color:#54606f; border-color:#eceef2; }
    .pricing-note, .referral-note{ color:var(--soft); }

    /* referral */
    .referral{ background:var(--alt); }
    .ref-card{ background:#fff; border:1px solid var(--line); border-top:3px solid #e6e7ec; }
    .ref-step{ color:var(--orange-ink); } .ref-card h3{ color:var(--ink); } .ref-card p{ color:var(--soft); }

    /* faq */
    .faq{ background:var(--alt); }
    .faq-list details{ border-top:1px solid #dfe1e7; } .faq-list details:last-child{ border-bottom:1px solid #dfe1e7; }
    .faq-list summary{ color:var(--ink); } .faq-list details[open] summary{ color:var(--orange-ink); }
    .faq-list summary span{ color:var(--orange); } .faq-list details p{ color:var(--soft); }

    /* final CTA = navy */
    .final-cta{ border-top:4px solid var(--orange); border-bottom:4px solid var(--orange);
      background:radial-gradient(circle at 50% 0%,rgba(255,106,0,.2),transparent 55%),var(--navy); }
    .final-cta::before{ border-color:rgba(255,106,0,.3); }
    .final-cta h2{ color:#fff; } .final-cta p:not(.eyebrow){ color:#c3ccd8; }

    /* footer = navy */
    footer{ background:var(--navy); border-radius:20px 20px 0 0; }
    footer::before{ background:var(--orange); }
    footer strong{ color:#ff8a3a; } footer a:not(.brand){ color:#9fabbb; } footer a:hover{ color:#fff; }
    footer .brand span{ color:#fff; } .footer-brand p{ color:#8595a8; } .copyright{ color:#6b7688; border-color:#22344c; }

    /* effects */
    .reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; }
    .reveal.in{ opacity:1; transform:none; }
    @keyframes ryt-wave{ 0%,100%{ transform:scaleY(.5); } 50%{ transform:scaleY(1); } }
    .wave i{ transform-origin:center; animation:ryt-wave 1.1s ease-in-out infinite; }
    .wave i:nth-child(2n){ animation-delay:.15s; } .wave i:nth-child(3n){ animation-delay:.3s; }
    .live-dot{ animation:ryt-pulse 1.6s ease-in-out infinite; }
    @keyframes ryt-pulse{ 50%{ box-shadow:0 0 0 7px rgba(255,106,0,0); } }
    .trade-strip a{ transition:transform .25s, background .25s, color .25s; }
    .trade-strip a.lit{ transform:translateY(-3px); background:var(--orange); color:#20150a; border-left-color:#20150a; }
    @media (prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;} .wave i,.live-dot{animation:none;} }

    /* ===== TRADE SHOW RADAR -> LIGHT ===== */
    .ts-intro > div > p:last-child{ color:var(--soft); }
    .ts-refresh-card{ background:#fff; border:1px solid var(--line); border-left:4px solid var(--orange); box-shadow:0 12px 30px rgba(18,28,40,.06); }
    .ts-refresh-card small{ color:#8a93a2; } .ts-refresh-card strong{ color:var(--orange-ink); } .ts-refresh-card p{ color:var(--soft); }
    .ts-load-error{ background:#fdecea; border:1px solid #f2c2bd; color:#9a2820; }
    .ts-control{ background:#fff; border:1px solid #d9dbe2; color:var(--ink); }
    .ts-control::placeholder{ color:#98a1b0; }
    .ts-control:focus{ border-color:var(--orange); box-shadow:0 0 0 2px rgba(255,106,0,.16); }
    .ts-clear{ background:#fff; border:1px solid var(--orange); color:var(--orange-ink); }
    .ts-stat{ background:#f4f5f8; border:1px solid var(--line); color:var(--soft); }
    .ts-stat b{ color:var(--ink); } .ts-stat.orange b{ color:var(--orange-ink); }
    .ts-map-panel, .ts-list-panel{ background:#fff; border:1px solid var(--line); box-shadow:0 16px 45px rgba(18,28,40,.08); }
    .ts-map-head{ border-bottom:1px solid var(--line); } .ts-map-head h3, .ts-list-head h3{ color:var(--ink); }
    .ts-legend{ color:var(--soft); }
    #ts-mapWrap{ background:radial-gradient(circle at 50% 45%,rgba(255,106,0,.05),transparent 30rem),
      repeating-linear-gradient(0deg,transparent 0 31px,rgba(18,28,40,.05) 31px 32px),
      repeating-linear-gradient(90deg,transparent 0 31px,rgba(18,28,40,.04) 31px 32px); }
    .ts-state{ fill:#e9eaef; stroke:#b9bdc7; }
    .ts-state.has-events{ fill:#ffe6d1; stroke:#e8a067; }
    .ts-state:hover, .ts-state.selected{ fill:#ffd0a8; stroke:var(--orange); }
    .ts-state-label{ fill:#8a93a2; } .ts-state-label.active{ fill:#1c2432; }
    .ts-pin{ stroke:#fff; } .ts-pin.selected{ stroke:var(--orange-ink); }
    .ts-map-note{ border-top:1px solid var(--line); color:var(--soft); }
    .ts-list-head{ border-bottom:1px solid var(--line); } .ts-list-head p{ color:var(--soft); }
    .ts-event-card{ background:#fff; border:1px solid var(--line); }
    .ts-event-card:hover, .ts-event-card.selected{ border-color:var(--orange); background:#fff6ef; }
    .ts-event-card h3{ color:var(--ink); } .ts-event-date{ color:var(--orange-ink); } .ts-event-meta{ color:var(--soft); }
    .ts-tag{ border:1px solid #d9dbe2; color:#5f6a79; } .ts-visit{ color:var(--orange-ink); }
    .ts-empty{ color:var(--soft); }
    .ts-selected-detail{ background:#fff6ef; border:1px solid rgba(255,106,0,.4); border-left:5px solid var(--orange); }
    .ts-selected-detail h2{ color:var(--ink); }
    .ts-detail-item{ border-top:1px solid var(--line); } .ts-detail-item small{ color:#8a93a2; } .ts-detail-item b{ color:var(--ink); }
    .ts-coverage-note{ color:var(--soft); } .ts-coverage-note b{ color:var(--ink); }

    /* ================= JOB FLY-THROUGH ================= */
    :root{ --card:#ffffff; }
    .rf-intro{ text-align:center; padding:74px 26px 46px; max-width:760px; margin:0 auto; }
    .rf-intro .rf-k{ font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-ink); margin-bottom:12px; }
    .rf-intro h2{ font-family:"Archivo",system-ui,sans-serif; font-size:clamp(1.9rem,3.6vw,2.9rem); font-weight:800; margin-bottom:12px; color:var(--ink); }
    .rf-intro h2 em{ color:var(--orange-ink); font-style:normal; }
    .rf-intro p{ color:var(--soft); font-size:1.06rem; }
    .rf{ height:660vh; position:relative; background:var(--navy); }
    .rf.flat{ height:auto; }
    .rf-sticky{ position:sticky; top:0; height:100vh; overflow:hidden; perspective:1000px; background:
        radial-gradient(120% 90% at 50% 12%, #1a3350 0%, transparent 60%),
        radial-gradient(130% 100% at 50% 120%, #16305233 0%, transparent 55%),
        var(--navy); color:#fff; }
    .rf-warm{ position:absolute; inset:0; pointer-events:none; opacity:0; z-index:0; background:
        radial-gradient(105% 88% at 50% 66%, rgba(255,150,58,.62) 0%, rgba(255,120,20,.30) 30%, rgba(255,106,0,.12) 52%, transparent 74%); }
    .rf-scene{ position:absolute; inset:0; transform-style:preserve-3d; }
    .rf-stars{ position:absolute; inset:0; background-image:radial-gradient(1.4px 1.4px at 20% 30%, rgba(255,255,255,.35), transparent), radial-gradient(1.2px 1.2px at 70% 20%, rgba(255,255,255,.25), transparent), radial-gradient(1.4px 1.4px at 40% 70%, rgba(255,255,255,.28), transparent), radial-gradient(1.2px 1.2px at 85% 60%, rgba(255,255,255,.22), transparent), radial-gradient(1.3px 1.3px at 60% 85%, rgba(255,255,255,.2), transparent); opacity:.6; }
    .rf-grid{ position:absolute; left:50%; bottom:-6%; width:320%; height:150%; transform:translateX(-50%) rotateX(80deg); transform-origin:bottom center;
        background:
          linear-gradient(var(--navy) 2%, transparent 40%),
          repeating-linear-gradient(90deg, rgba(255,106,0,.13) 0 1px, transparent 1px 84px),
          repeating-linear-gradient(0deg, rgba(130,160,200,.14) 0 1px, transparent 1px 84px);
        opacity:.5; }
    .rf-fog{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(70% 60% at 50% 45%, transparent 40%, rgba(14,27,46,.55) 100%); }
    .rf-panels{ position:absolute; inset:0; transform-style:preserve-3d; }
    .rf-panel{ position:absolute; left:50%; top:50%; width:min(440px,86vw); background:var(--card); color:var(--ink); border:1px solid var(--line); border-radius:16px; box-shadow:0 30px 72px rgba(6,12,22,.55); padding:22px 24px; opacity:0; will-change:transform,opacity; }
    .rf-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:2px; }
    .rf-panel .fnum{ font:800 .72rem "Archivo"; letter-spacing:.16em; color:var(--orange-ink); text-transform:uppercase; }
    .rf-panel h3{ font-size:1.5rem; font-weight:800; margin:8px 0 4px; color:var(--ink); }
    .rf-panel .sub{ color:var(--soft); font-size:.9rem; margin-bottom:14px; }
    .rf-row{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 0; border-top:1px solid #eff1f5; font-size:.92rem; }
    .rf-row .l{ color:var(--soft); } .rf-row .v{ font-weight:700; text-align:right; color:var(--ink); }
    .rf-big{ font-family:"Archivo"; font-size:2.3rem; font-weight:800; margin-top:8px; color:var(--ink); } .rf-big.paid{ color:#137a45; }
    .rf-check{ display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#e6f7ee; color:#137a45; font-weight:900; margin-right:8px; }
    .rf-pill{ font:700 .66rem/1 Inter, sans-serif; padding:5px 11px; border-radius:100px; white-space:nowrap; }
    .rf-pill.new{ background:#fff0e2; color:var(--orange-ink); }
    .rf-pill.sent{ background:#eaf1fb; color:#2b6cb0; }
    .rf-pill.sch{ background:#eef0f4; color:var(--soft); }
    .rf-pill.prog{ background:#fff0e2; color:var(--orange-ink); }
    .rf-pill.inv{ background:#e6f5f3; color:#0f766e; }
    .rf-pill.paid{ background:#e6f7ee; color:#137a45; }
    .rf-hud{ position:absolute; left:0; right:0; bottom:32px; z-index:40; display:flex; flex-direction:column; align-items:center; gap:14px; pointer-events:none; }
    .rf-stage{ font:800 .78rem "Archivo"; letter-spacing:.18em; text-transform:uppercase; color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); padding:7px 16px; border-radius:100px; }
    .rf-stage b{ color:var(--orange); }
    .rf-rail{ display:flex; align-items:center; }
    .rf-rdot{ width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.22); transition:.3s; }
    .rf-rdot.on{ background:var(--orange); box-shadow:0 0 0 5px rgba(255,106,0,.18); }
    .rf-rdot.done{ background:var(--orange-ink); }
    .rf-rseg{ width:34px; height:2px; background:rgba(255,255,255,.15); transition:.3s; }
    .rf-rseg.fill{ background:var(--orange); }
    .rf-skip{ position:absolute; right:22px; top:78px; z-index:40; color:#c3d0e0; font-size:.78rem; text-decoration:none; border:1px solid rgba(255,255,255,.2); padding:7px 14px; border-radius:100px; pointer-events:auto; }
    .rf-skip:hover{ background:rgba(255,255,255,.1); }
    @media(max-width:860px){ .rf{ height:auto!important; } }
    .rf.flat .rf-sticky{ position:static; height:auto; overflow:visible; padding:48px 0; perspective:none; background:var(--navy); }
    .rf.flat .rf-scene{ position:static; } .rf.flat .rf-grid,.rf.flat .rf-stars,.rf.flat .rf-fog,.rf.flat .rf-warm{ display:none; }
    .rf.flat .rf-panels{ position:static; } .rf.flat .rf-hud{ position:static; margin-top:20px; }
    .rf.flat .rf-panel{ position:relative; left:auto; top:auto; transform:none!important; opacity:1!important; margin:0 auto 20px; }
    .rf.flat .rf-skip{ display:none; }

    /* ================= DARK THEME ================= */
    :root[data-theme="dark"]{
      --ink:#e9eef4; --soft:#a2aebd; --line:#28323f; --navy:#0c1622; --navy2:#0f1c2c;
      --orange-ink:#ff9552; --surface:#151f2b; --alt:#0f1824;
    }
    :root[data-theme="dark"] html, :root[data-theme="dark"] body{ background:#0a121c; }
    :root[data-theme="dark"] body{ color:var(--ink); }
    :root[data-theme="dark"] body::before{ opacity:.05; }
    :root[data-theme="dark"] .site-header{ background:rgba(12,19,29,.92); }
    :root[data-theme="dark"] .site-header nav a{ color:#c3ccd8; }
    :root[data-theme="dark"] .site-header nav a:hover{ color:var(--orange-ink); }
    :root[data-theme="dark"] .button-secondary,
    :root[data-theme="dark"] .vs,
    :root[data-theme="dark"] .feature-card,
    :root[data-theme="dark"] .phone-mock,
    :root[data-theme="dark"] .app-window,
    :root[data-theme="dark"] .tier,
    :root[data-theme="dark"] .ref-card,
    :root[data-theme="dark"] .ts-refresh-card,
    :root[data-theme="dark"] .ts-map-panel,
    :root[data-theme="dark"] .ts-list-panel,
    :root[data-theme="dark"] .ts-event-card,
    :root[data-theme="dark"] .ts-control,
    :root[data-theme="dark"] .ts-clear{ background:var(--surface); border-color:var(--line); }
    :root[data-theme="dark"] .button-secondary{ color:var(--orange-ink); }
    :root[data-theme="dark"] .workflow-visual,
    :root[data-theme="dark"] .stats div,
    :root[data-theme="dark"] .phone-mock > p,
    :root[data-theme="dark"] .jobs .scheduled,
    :root[data-theme="dark"] .ts-stat{ background:var(--alt); border-color:var(--line); color:var(--soft); }
    :root[data-theme="dark"] .mini-icon,
    :root[data-theme="dark"] .avatar,
    :root[data-theme="dark"] .jobs mark,
    :root[data-theme="dark"] .processing{ background:rgba(255,106,0,.15); border-color:rgba(255,106,0,.28); color:var(--orange-ink); }
    :root[data-theme="dark"] .app-head,
    :root[data-theme="dark"] .jobs > div,
    :root[data-theme="dark"] .phone-top,
    :root[data-theme="dark"] .workflow-copy li,
    :root[data-theme="dark"] .faq-list details,
    :root[data-theme="dark"] .faq-list details:last-child,
    :root[data-theme="dark"] .tier li{ border-color:var(--line); }
    :root[data-theme="dark"] .phone-top,
    :root[data-theme="dark"] .app-head small,
    :root[data-theme="dark"] .stats small,
    :root[data-theme="dark"] .jobs h4,
    :root[data-theme="dark"] .jobs small,
    :root[data-theme="dark"] .t-amt small,
    :root[data-theme="dark"] .tier li,
    :root[data-theme="dark"] .ts-tag,
    :root[data-theme="dark"] .ts-refresh-card small,
    :root[data-theme="dark"] .ts-detail-item small{ color:var(--soft); }
    :root[data-theme="dark"] .feature-card h3, :root[data-theme="dark"] .feature-card p,
    :root[data-theme="dark"] .phone-top strong, :root[data-theme="dark"] .stats b,
    :root[data-theme="dark"] .jobs p b, :root[data-theme="dark"] .app-head strong,
    :root[data-theme="dark"] .t-amt, :root[data-theme="dark"] .ts-event-card h3,
    :root[data-theme="dark"] .ts-detail-item b, :root[data-theme="dark"] .faq-list summary,
    :root[data-theme="dark"] .ts-map-head h3, :root[data-theme="dark"] .ts-list-head h3{ color:var(--ink); }
    :root[data-theme="dark"] .feature-card{ border-top-color:var(--line); }
    :root[data-theme="dark"] .vs-row .ryt{ background:linear-gradient(90deg,rgba(255,106,0,.10),transparent); color:var(--ink); }
    :root[data-theme="dark"] #ts-mapWrap{ background:
        radial-gradient(circle at 50% 45%,rgba(255,106,0,.06),transparent 30rem),
        repeating-linear-gradient(0deg,transparent 0 31px,rgba(255,255,255,.04) 31px 32px),
        repeating-linear-gradient(90deg,transparent 0 31px,rgba(255,255,255,.03) 31px 32px); }
    :root[data-theme="dark"] .ts-state{ fill:#1b2634; stroke:#2c3a4c; }
    :root[data-theme="dark"] .ts-state.has-events{ fill:#3d2415; stroke:#8a552e; }
    :root[data-theme="dark"] .ts-state:hover, :root[data-theme="dark"] .ts-state.selected{ fill:#5c3417; stroke:var(--orange); }
    :root[data-theme="dark"] .ts-state-label{ fill:#8593a4; } :root[data-theme="dark"] .ts-state-label.active{ fill:#e6ebf2; }
    :root[data-theme="dark"] .ts-pin{ stroke:#0c1622; }
    :root[data-theme="dark"] .ts-event-card:hover, :root[data-theme="dark"] .ts-event-card.selected,
    :root[data-theme="dark"] .ts-selected-detail{ background:rgba(255,106,0,.1); border-color:rgba(255,106,0,.4); }
    :root[data-theme="dark"] .ts-control::placeholder{ color:#7f8a99; }
    :root[data-theme="dark"] .ts-load-error{ background:#2a1512; border-color:#5a2620; color:#f0a89f; }

    /* theme toggle button */
    .theme-toggle{ display:inline-grid; place-items:center; width:38px; height:38px; border-radius:9px; border:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer; transition:border-color .18s, color .18s; }
    .theme-toggle:hover{ border-color:var(--orange); color:var(--orange-ink); }
    .theme-toggle svg{ width:18px; height:18px; }
    .theme-toggle .ic-sun{ display:none; } .theme-toggle .ic-moon{ display:block; }
    :root[data-theme="dark"] .theme-toggle .ic-sun{ display:block; } :root[data-theme="dark"] .theme-toggle .ic-moon{ display:none; }

    /* ================= HERO LIVE DASHBOARD ================= */
    .hero-visual{ background:transparent !important; border:0 !important; box-shadow:none !important; overflow:visible; min-height:auto; display:flex; align-items:center; justify-content:center; padding:0; }
    .hero-visual::before, .hero-visual::after{ content:none !important; }
    .hv-app{ width:100%; max-width:490px; background:#fff; border:1px solid #e6e7ec; border-radius:18px; box-shadow:0 48px 100px -22px rgba(0,0,0,.62), 0 22px 48px -16px rgba(0,0,0,.42); overflow:hidden; position:relative; color:#151b24; font-family:Inter, system-ui, sans-serif; text-transform:none; transform:perspective(1600px) rotateY(-6deg); transform-origin:center; transition:transform .55s cubic-bezier(.2,.7,.2,1), box-shadow .55s ease; }
    .hero-visual:hover .hv-app{ transform:perspective(1600px) rotateY(0deg) translateY(-4px); box-shadow:0 60px 120px -20px rgba(0,0,0,.66), 0 26px 56px -16px rgba(0,0,0,.45); }
    @media(max-width:860px){ .hv-app{ transform:none; max-width:430px; } }
    .hv-top{ display:flex; align-items:center; justify-content:space-between; padding:12px 15px; border-bottom:1px solid #eef1f5; }
    .hv-top .l{ display:flex; align-items:center; gap:8px; font-weight:700; font-size:.86rem; letter-spacing:0; }
    .hv-dot{ width:9px; height:9px; border-radius:50%; background:#25c26e; box-shadow:0 0 0 4px rgba(37,194,110,.16); animation:hv-pulse 2s infinite; }
    @keyframes hv-pulse{ 0%,100%{ box-shadow:0 0 0 4px rgba(37,194,110,.16);} 50%{ box-shadow:0 0 0 7px rgba(37,194,110,.04);} }
    .hv-top small{ color:#8a93a2; font-size:.7rem; }
    .hv-kpis{ display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:14px; }
    .hv-kpi{ background:#f7f8fb; border:1px solid #eef1f5; border-radius:11px; padding:11px 12px; }
    .hv-kpi small{ display:block; color:#8a93a2; font-size:.64rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:4px; }
    .hv-kpi b{ font-family:"Archivo", sans-serif; font-size:1.4rem; font-weight:800; color:#151b24; }
    .hv-kpi b.up{ color:#b94b00; }
    .hv-feed{ padding:0 14px 14px; }
    .hv-feed h4{ font-size:.64rem; text-transform:uppercase; letter-spacing:.1em; color:#8a93a2; margin:2px 0 8px; font-weight:700; }
    .hv-job{ display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px solid #f1f3f6; }
    .hv-job:first-child{ border-top:0; }
    .hv-ava{ width:30px; height:30px; border-radius:8px; display:grid; place-items:center; background:#fff2e8; color:#b94b00; font-weight:800; font-size:.68rem; flex:0 0 auto; }
    .hv-job .i{ flex:1; min-width:0; } .hv-job .i b{ font-size:.82rem; } .hv-job .i small{ display:block; color:#8a93a2; font-size:.72rem; }
    .hv-tag{ font-size:.62rem; font-weight:700; padding:4px 8px; border-radius:100px; white-space:nowrap; }
    .hv-tag.new{ background:#fff0e2; color:#b94b00; } .hv-tag.sch{ background:#eef0f4; color:#5a6474; } .hv-tag.paid{ background:#e6f7ee; color:#137a45; }
    .hv-job.in{ animation:hv-slide .5s ease; }
    @keyframes hv-slide{ from{ opacity:0; transform:translateY(-8px);} to{ opacity:1; transform:none;} }
    .hv-toast{ position:absolute; left:14px; right:14px; bottom:14px; background:#0e1b2e; color:#fff; border-radius:11px; padding:11px 13px; display:flex; align-items:center; gap:10px; box-shadow:0 14px 30px rgba(0,0,0,.4); transform:translateY(160%); opacity:0; transition:transform .45s cubic-bezier(.2,.8,.2,1), opacity .45s; }
    .hv-toast.show{ transform:translateY(0); opacity:1; }
    .hv-toast .t{ width:28px; height:28px; border-radius:8px; background:var(--orange); color:#0a0a0a; display:grid; place-items:center; font-weight:800; flex:0 0 auto; font-family:Inter,sans-serif; }
    .hv-toast b{ font-size:.8rem; } .hv-toast small{ display:block; color:#b9c4d4; font-size:.7rem; }
    @media (prefers-reduced-motion:reduce){ .hv-dot,.hv-job.in{ animation:none; } .hv-app{ transform:none; } }

/* ================= SUBPAGE COMPONENTS ================= */
.page-hero{ width:min(calc(100% - 36px),var(--max)); margin:22px auto 0; padding:clamp(48px,7vw,92px) clamp(24px,4vw,56px);
  background:radial-gradient(120% 90% at 15% 0%,rgba(255,106,0,.14),transparent 42%),var(--navy); border:1px solid #22334a; border-radius:20px; }
.page-hero .eyebrow{ color:#ff8a3a; }
.page-hero h1{ color:#fff; font-size:clamp(2.4rem,5vw,3.8rem); max-width:18ch; }
.page-hero p.lede{ color:#c3ccd8; max-width:62ch; margin-top:18px; font-size:clamp(1.02rem,1.4vw,1.18rem); }
.page-hero .hero-actions{ margin-top:28px; }
.prose{ max-width:760px; } .prose p{ color:var(--soft); font-size:1.06rem; margin:0 0 1.1rem; } .prose h3{ color:var(--ink); margin:32px 0 10px; }

.video-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.video-card{ background:var(--surface,#fff); border:1px solid var(--line); border-top:3px solid #e6e7ec; box-shadow:0 12px 30px rgba(18,28,40,.05); overflow:hidden; display:flex; flex-direction:column; }
.video-card:hover{ border-top-color:var(--orange); transform:translateY(-2px); transition:.18s ease; }
.video-thumb{ aspect-ratio:16/9; background:linear-gradient(135deg,var(--navy),var(--navy2)); display:grid; place-items:center; position:relative; }
.video-thumb::after{ content:"\25B6"; width:52px; height:52px; border-radius:50%; background:var(--orange); color:#0a0a0a; display:grid; place-items:center; font-size:1.05rem; }
.video-thumb iframe{ width:100%; height:100%; border:0; } .video-thumb.has-video::after{ display:none; }
.vc-body{ padding:18px; } .video-card h3{ font-size:1.12rem; color:var(--ink); } .video-card p{ color:var(--soft); font-size:.9rem; margin-top:8px; }
.learn-cat{ margin:46px 0 18px; color:var(--ink); }
.learn-tag{ display:inline-block; font:800 .68rem/1 ui-monospace,monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--orange-ink); margin-bottom:8px; }

.contact-grid{ display:grid; grid-template-columns:1.3fr .8fr; gap:clamp(30px,5vw,60px); align-items:start; }
.form-card{ background:var(--surface,#fff); border:1px solid var(--line); border-top:3px solid var(--orange); box-shadow:0 16px 40px rgba(18,28,40,.07); padding:clamp(22px,3vw,34px); }
.field{ margin-bottom:16px; } .field label{ display:block; font-size:.82rem; font-weight:700; color:var(--ink); margin-bottom:6px; }
.field input,.field select,.field textarea{ width:100%; min-height:48px; padding:11px 13px; border:1px solid var(--line); border-radius:9px; background:var(--surface,#fff); color:var(--ink); font:inherit; }
.field textarea{ min-height:130px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--orange); box-shadow:0 0 0 3px rgba(255,106,0,.14); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-note{ color:var(--soft); font-size:.82rem; margin-top:6px; }
.contact-info .ci-item{ padding:16px 0; border-top:1px solid var(--line); } .contact-info .ci-item:first-child{ border-top:0; }
.contact-info strong{ display:block; color:var(--ink); text-transform:uppercase; font:800 .74rem ui-monospace,monospace; letter-spacing:.1em; margin-bottom:5px; }
.contact-info a,.contact-info p{ color:var(--soft); }

.trade-points{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; list-style:none; padding:0; margin:0; }
.trade-points li{ background:var(--surface,#fff); border:1px solid var(--line); border-left:4px solid var(--orange); padding:18px 20px; }
.trade-points b{ display:block; color:var(--ink); margin-bottom:5px; } .trade-points span{ color:var(--soft); font-size:.92rem; }
.trade-other{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.trade-other a{ border:1px solid var(--line); border-left:3px solid var(--orange); background:var(--surface,#fff); padding:8px 14px; color:var(--orange-ink); font-weight:700; font-size:.9rem; }
.trade-other a:hover{ background:var(--orange); color:#20150a; }

@media(max-width:860px){ .video-grid{ grid-template-columns:1fr; } .contact-grid{ grid-template-columns:1fr; } .form-row{ grid-template-columns:1fr; } .trade-points{ grid-template-columns:1fr; } }

.trade-strip a{ text-decoration:none; }

/* ===== COMPARISON TABLE: have / don't-have marks ===== */
.vs-row .most::before{ content:"\2715"; display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#fdece9; color:#c0392b; font-size:.68rem; font-weight:900; margin-right:9px; vertical-align:-4px; }
.vs-row .ryt::before{ content:"\2713"; display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#e6f7ee; color:#137a45; font-size:.68rem; font-weight:900; margin-right:9px; vertical-align:-4px; }
:root[data-theme="dark"] .vs-row .most::before{ background:rgba(192,57,43,.18); color:#f0a89f; }
:root[data-theme="dark"] .vs-row .ryt::before{ background:rgba(19,122,69,.22); color:#5fd08e; }

/* ===== DRAG / FLING GALLERY (replaces the fly-through) ===== */
.dgrab-intro{ text-align:center; max-width:760px; margin:0 auto; padding:74px 26px 26px; }
.dgrab-intro .dgrab-k{ font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-ink); margin-bottom:12px; }
.dgrab-intro h2{ font-family:"Archivo",system-ui,sans-serif; font-size:clamp(1.9rem,3.6vw,2.9rem); font-weight:800; color:var(--ink); }
.dgrab-intro h2 em{ color:var(--orange-ink); font-style:normal; }
.dgrab-intro p{ color:var(--soft); font-size:1.05rem; margin-top:12px; }
.dgrab{ overflow:hidden; cursor:grab; user-select:none; -webkit-user-select:none; touch-action:pan-y; padding:14px 0 20px; }
.dgrab.grabbing{ cursor:grabbing; }
.dgrab-track{ display:flex; gap:18px; padding-inline:clamp(1rem,4vw,2.6rem); will-change:transform; }
.dgrab-hint{ text-align:center; color:var(--soft); font-size:.78rem; letter-spacing:.05em; padding-bottom:34px; }

.dcard{ flex:0 0 clamp(258px,30vw,298px); background:var(--surface,#fff); border:1px solid var(--line); border-radius:16px; box-shadow:0 18px 45px rgba(18,28,40,.13); overflow:hidden; pointer-events:none; }
.dcard-top{ display:flex; align-items:center; gap:8px; padding:12px 15px; border-bottom:1px solid var(--line); font-weight:700; font-size:.85rem; color:var(--ink); }
.dcard-top small{ margin-left:auto; color:var(--soft); font-size:.68rem; font-weight:600; }
.dh-dot{ width:8px; height:8px; border-radius:50%; background:#25c26e; box-shadow:0 0 0 4px rgba(37,194,110,.16); flex:0 0 auto; }
.dh-dot.o{ background:var(--orange); box-shadow:0 0 0 4px rgba(255,106,0,.16); }
.dcard-kpis{ display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:13px 15px; }
.dk{ background:var(--alt,#f7f8fb); border:1px solid var(--line); border-radius:10px; padding:10px 11px; }
.dk small{ display:block; color:var(--soft); font-size:.62rem; text-transform:uppercase; letter-spacing:.05em; margin-bottom:3px; }
.dk b{ font-family:"Archivo",sans-serif; font-size:1.3rem; color:var(--ink); } .dk b.o{ color:var(--orange-ink); }
.dcard-rows{ padding:6px 15px 12px; } .dcard-rows.tight{ padding-top:10px; }
.dr{ display:flex; align-items:center; gap:9px; padding:8px 0; border-top:1px solid var(--line); } .dr:first-child{ border-top:0; }
.da{ width:26px; height:26px; border-radius:7px; display:grid; place-items:center; background:#fff2e8; color:var(--orange-ink); font-weight:800; font-size:.6rem; flex:0 0 auto; }
.dr .di{ flex:1; min-width:0; } .dr .di b{ font-size:.79rem; color:var(--ink); } .dr .di small{ display:block; color:var(--soft); font-size:.67rem; }
.dr2{ display:flex; align-items:center; gap:8px; padding:7px 0; border-top:1px solid var(--line); font-size:.79rem; color:var(--ink); } .dr2:first-child{ border-top:0; }
.dr2 span:first-child{ flex:1; } .dr2 .q{ color:var(--soft); } .dr2 .pr{ font-weight:700; color:var(--ink); }
.dr3{ display:flex; align-items:center; gap:8px; padding:7px 0; border-top:1px solid var(--line); font-size:.79rem; color:var(--ink); } .dr3:first-child{ border-top:0; }
.dr3 .ck{ display:inline-grid; place-items:center; width:18px; height:18px; border-radius:50%; background:#e6f7ee; color:#137a45; font-weight:900; font-size:.64rem; flex:0 0 auto; }
.dr3 .ck.ex{ background:#fff0e2; color:var(--orange-ink); }
.dcard-lines{ padding:10px 15px 4px; } .dl{ display:flex; justify-content:space-between; padding:6px 0; font-size:.81rem; color:var(--soft); } .dl b{ color:var(--ink); }
.dcard-total{ display:flex; justify-content:space-between; align-items:center; margin:6px 15px 0; padding:11px 0; border-top:1px solid var(--line); font-size:.85rem; color:var(--ink); } .dcard-total b{ font-family:"Archivo",sans-serif; font-size:1.15rem; }
.dcard-total.paid b{ color:#137a45; }
.dcard-pillrow{ padding:11px 15px 3px; }
.dp{ font-size:.66rem; font-weight:700; padding:5px 10px; border-radius:100px; }
.dp.sch{ background:#eef0f4; color:var(--soft); } .dp.paid{ background:#e6f7ee; color:#137a45; } .dp.sent{ background:#eaf1fb; color:#2b6cb0; }
.dcard-cap{ padding:12px 15px; border-top:1px solid var(--line); background:var(--alt,#f7f8fb); color:var(--orange-ink); font-weight:700; font-size:.79rem; }
:root[data-theme="dark"] .da,:root[data-theme="dark"] .dr3 .ck.ex{ background:rgba(255,106,0,.16); }
:root[data-theme="dark"] .dp.sch{ background:var(--alt); }


/* ===== SUPPLY-LIST DEMO (animated, inside the feature phone-mock) ===== */
.sldemo .sl-body{ position:relative; height:292px; overflow:hidden; margin-top:14px; }
.sldemo .sl-capture, .sldemo .sl-result{ position:absolute; inset:0; transition:opacity .5s ease; }
.sldemo .sl-result{ opacity:0; pointer-events:none; display:flex; flex-direction:column; }
.sldemo[data-phase="list"] .sl-capture{ opacity:0; }
.sldemo[data-phase="list"] .sl-result{ opacity:1; }

.sl-photo{ position:relative; height:132px; border-radius:12px; overflow:hidden; background:radial-gradient(120% 90% at 50% 10%,#1a3350,transparent 60%),#0e1b2e; display:grid; place-items:center; opacity:0; transform:scale(.93); transition:opacity .55s ease, transform .55s ease; }
.sldemo[data-phase] .sl-photo{ opacity:1; transform:none; }
.sl-photo svg{ width:66%; height:84%; }
.sl-photo-tag{ position:absolute; left:9px; bottom:8px; color:#aeb9c7; font:700 .58rem ui-monospace,monospace; letter-spacing:.08em; }
.sl-photo-tag::first-letter{ color:#ff6a00; }

.sldemo .wave{ height:44px; margin:12px 0 6px; opacity:0; transition:opacity .4s; }
.sldemo[data-phase="listen"] .wave,.sldemo[data-phase="ready"] .wave,.sldemo[data-phase="analyze"] .wave{ opacity:1; }
.sl-transcript{ font-size:.82rem; line-height:1.45; color:var(--soft); min-height:52px; margin:0; }
.sl-caret{ color:var(--orange); font-weight:400; animation:sl-blink 1s step-end infinite; }
@keyframes sl-blink{ 50%{ opacity:0; } }
@media(prefers-reduced-motion:reduce){ .sl-caret{ animation:none; } }

.sl-btn{ width:100%; margin-top:10px; border:0; border-radius:9px; background:var(--orange); color:#0a0a0a; font-family:"Archivo",sans-serif; font-weight:800; font-size:.82rem; letter-spacing:.02em; padding:12px; cursor:pointer; opacity:0; transform:translateY(6px); transition:opacity .35s ease, transform .35s ease; pointer-events:none; }
.sldemo[data-phase="ready"] .sl-btn{ opacity:1; transform:none; }
.sldemo[data-phase="analyze"] .sl-btn{ opacity:0; transform:scale(.97); }
.sl-analyzing{ margin-top:12px; text-align:center; color:#b8560f; font-size:.76rem; text-transform:uppercase; letter-spacing:.07em; opacity:0; transition:opacity .3s; }
.sldemo[data-phase="analyze"] .sl-analyzing{ opacity:1; }

.sl-result-head{ display:flex; justify-content:space-between; align-items:baseline; padding:0 2px 9px; font-weight:800; font-size:.88rem; color:var(--ink); border-bottom:1px solid var(--line); }
.sl-result-head small{ color:var(--soft); font-weight:600; font-size:.68rem; }
.sl-scroll{ flex:1; overflow:hidden; position:relative; -webkit-mask-image:linear-gradient(#000 88%,transparent); mask-image:linear-gradient(#000 88%,transparent); }
.sl-list{ will-change:transform; }
.sl-row{ display:flex; align-items:center; gap:8px; padding:7px 2px; border-bottom:1px solid var(--line); font-size:.77rem; color:var(--ink); }
.sl-row .nm{ flex:1; } .sl-row .qt{ color:var(--soft); font-size:.7rem; } .sl-row .pc{ font-weight:700; min-width:42px; text-align:right; font-variant-numeric:tabular-nums; }
.sl-total{ display:flex; justify-content:space-between; align-items:center; padding:11px 2px 2px; border-top:2px solid var(--orange); font-size:.84rem; color:var(--ink); }
.sl-total b{ font-family:"Archivo",sans-serif; font-size:1.15rem; }


/* ===== SUPPLY-LIST DEMO: real photo + capture FX + Purchase Order ===== */
.sl-photo-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sl-scan{ position:absolute; left:0; right:0; top:0; height:36%; pointer-events:none; opacity:0;
  background:linear-gradient(rgba(255,106,0,0),rgba(255,106,0,.5),rgba(255,106,0,0)); }
.sldemo[data-phase="photo"] .sl-scan{ animation:sl-scan 1.15s ease-in-out; }
@keyframes sl-scan{ 0%{ opacity:0; transform:translateY(-60%);} 12%{ opacity:1;} 82%{ opacity:1;} 100%{ opacity:0; transform:translateY(340%);} }
.sl-flash{ position:absolute; inset:0; background:#fff; opacity:0; pointer-events:none; }
.sldemo[data-phase="photo"] .sl-flash{ animation:sl-flash .55s ease-out; }
@keyframes sl-flash{ 0%{ opacity:0;} 9%{ opacity:.82;} 100%{ opacity:0;} }
@media(prefers-reduced-motion:reduce){ .sldemo[data-phase="photo"] .sl-scan, .sldemo[data-phase="photo"] .sl-flash{ animation:none; } }

.sldemo .sl-po{ position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .5s ease; display:flex; flex-direction:column; }
.sldemo[data-phase="po"] .sl-po{ opacity:1; }
.sldemo[data-phase="po"] .sl-capture{ opacity:0; }
.sl-po-head{ display:flex; justify-content:space-between; align-items:baseline; padding:0 2px 10px; font-weight:800; font-size:.9rem; color:var(--ink); border-bottom:1px solid var(--line); }
.sl-po-head small{ color:var(--orange-ink); font-family:ui-monospace,monospace; font-weight:700; font-size:.72rem; }
.sl-po-lines{ padding:10px 2px; flex:1; }
.sl-po-row{ display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--line); font-size:.82rem; color:var(--soft); }
.sl-po-row b{ color:var(--ink); }
.sl-po-total{ display:flex; justify-content:space-between; align-items:center; padding:11px 2px; border-top:2px solid var(--orange); font-size:.86rem; color:var(--ink); }
.sl-po-total b{ font-family:"Archivo",sans-serif; font-size:1.2rem; }
.sl-po-stamp{ margin-top:10px; text-align:center; color:#137a45; font-weight:700; font-size:.76rem; display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.sl-po-stamp .live-dot{ background:#25c26e; box-shadow:0 0 0 4px rgba(37,194,110,.14); }


/* ===== SUPPLY-LIST DEMO v2: app upload screen + full-frame capture ===== */
.sl-app{ position:absolute; inset:0; display:flex; flex-direction:column; transition:opacity .45s ease; }
.sldemo[data-phase="list"] .sl-app, .sldemo[data-phase="po"] .sl-app{ opacity:0; }
.sl-upload{ border:2px dashed var(--line); border-radius:12px; min-height:82px; display:grid; place-items:center; overflow:hidden; position:relative; background:var(--alt,#f7f8fb); transition:border-color .3s; }
.sldemo.has-photo .sl-upload{ border-style:solid; border-color:var(--orange); min-height:120px; }
.sl-upload-empty{ color:var(--soft); font-weight:600; font-size:.86rem; }
.sl-upload-empty span{ font-size:1rem; }
.sl-upload-thumb{ display:none; position:absolute; inset:0; }
.sldemo.has-photo .sl-upload-thumb{ display:block; }
.sldemo.has-photo .sl-upload-empty{ display:none; }
.sl-thumb-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sl-thumb-tag{ position:absolute; left:8px; bottom:7px; background:rgba(14,27,46,.82); color:#fff; font:700 .58rem ui-monospace,monospace; padding:3px 7px; border-radius:5px; }
.sl-notes-label{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin:12px 2px 6px; font-size:.78rem; font-weight:700; color:var(--ink); }
.sl-notes-label small{ color:var(--soft); font-weight:500; }
.sl-dictate{ color:var(--soft); font-weight:600; font-size:.7rem; border:1px solid var(--line); border-radius:100px; padding:4px 10px; }
.sldemo[data-phase="listen"] .sl-dictate{ color:#c0392b; border-color:#f2c2bd; }
.sl-notes{ flex:1; border:1px solid var(--line); border-radius:10px; padding:10px 12px; font-size:.82rem; line-height:1.42; color:var(--ink); background:var(--surface,#fff); overflow:hidden; }
.sl-ph{ display:none; color:var(--soft); }
.sldemo[data-phase="upload"] .sl-ph, .sldemo[data-phase="photo"] .sl-ph{ display:inline; }
.sl-btn{ opacity:1 !important; transform:none !important; margin-top:12px; display:flex; align-items:center; justify-content:center; gap:7px; background:#c9ccd3; color:#fff; }
.sldemo.has-photo .sl-btn{ background:var(--orange); color:#0a0a0a; }
:root[data-theme="dark"] .sldemo:not(.has-photo) .sl-btn{ background:#2a3a4d; color:#8fa0b3; }
.sldemo[data-phase="analyze"] .sl-btn{ opacity:.6 !important; }

.sl-photocap{ position:absolute; inset:0; border-radius:12px; overflow:hidden; background:#0e1b2e; display:grid; place-items:center; opacity:0; transition:opacity .45s ease; z-index:3; }
.sldemo[data-phase="photo"] .sl-photocap{ opacity:1; }
.sl-cap-img{ width:100%; height:100%; object-fit:contain; }
.sldemo[data-phase="photo"] .sl-cap-img{ animation:sl-pop .55s ease-out; }
@keyframes sl-pop{ 0%{ transform:scale(1.08); } 100%{ transform:scale(1); } }
.sl-photocap .sl-photo-fallback{ position:absolute; width:58%; height:80%; }
.sl-photocap .sl-photo-tag{ position:absolute; left:10px; bottom:9px; color:#ff8a3a; font:700 .62rem ui-monospace,monospace; letter-spacing:.06em; }

.sl-analyzing{ position:absolute; inset:0; z-index:4; display:flex; align-items:center; justify-content:center; gap:8px; background:rgba(251,250,248,.82); color:#b8560f; font-weight:700; font-size:.82rem; opacity:0; pointer-events:none; transition:opacity .3s; }
:root[data-theme="dark"] .sl-analyzing{ background:rgba(14,27,46,.84); color:var(--orange-ink); }
.sldemo[data-phase="analyze"] .sl-analyzing{ opacity:1; }
@media(prefers-reduced-motion:reduce){ .sldemo[data-phase="photo"] .sl-cap-img{ animation:none; } }


/* photo snaps in cleanly — no empty upload screen bleeding through the fade-in */
.sldemo[data-phase="photo"] .sl-photocap{ transition:opacity .1s ease; }


/* hide the drawn fallback panel unless the real photo is missing */
.sl-photocap .sl-photo-fallback{ display:none; }

/* ===== END VIEW: two deliverables, ready to send ===== */
.sl-deliv-head{ font-weight:800; font-size:.8rem; color:var(--ink); text-transform:uppercase; letter-spacing:.07em; margin-bottom:10px; }
.sl-deliv-card{ background:var(--surface,#fff); border:1px solid var(--line); border-left:3px solid var(--orange); border-radius:10px; padding:11px 13px; margin-bottom:10px; }
.sl-deliv-top{ display:flex; align-items:center; gap:8px; font-weight:800; font-size:.84rem; color:var(--ink); }
.sl-deliv-ic{ font-size:1rem; }
.sl-deliv-num{ margin-left:auto; color:var(--soft); font:700 .66rem ui-monospace,monospace; letter-spacing:.04em; }
.sl-deliv-row{ display:flex; justify-content:space-between; align-items:baseline; margin-top:6px; font-size:.79rem; color:var(--soft); }
.sl-deliv-row b{ font-family:"Archivo",sans-serif; font-size:1.15rem; color:var(--ink); }
.sl-deliv-send{ margin-top:9px; display:flex; align-items:center; justify-content:center; gap:7px; background:var(--orange); color:#0a0a0a; font-weight:800; font-size:.75rem; border-radius:8px; padding:8px; }
.sl-deliv-foot{ margin-top:2px; text-align:center; color:var(--orange-ink); font-weight:700; font-size:.74rem; line-height:1.35; }


/* ===== finale cards are clickable ===== */
.sldemo[data-phase="po"] .sl-po{ pointer-events:auto; }
.sl-deliv-card{ cursor:pointer; transition:transform .12s ease, box-shadow .12s ease; }
.sl-deliv-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(18,28,40,.12); }
.sl-deliv-tap{ color:var(--orange-ink); }

/* ===== FULL QUOTE + PO MODAL ===== */
.doc-modal{ position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:20px; }
.doc-modal[hidden]{ display:none; }
.doc-backdrop{ position:absolute; inset:0; background:rgba(8,14,22,.55); }
.doc-sheet{ position:relative; z-index:1; width:min(920px,100%); max-height:90vh; overflow:auto; background:var(--paper,#fbfaf8); border-radius:16px; box-shadow:0 40px 90px rgba(0,0,0,.45); padding:clamp(18px,3vw,30px); }
.doc-x{ position:absolute; right:12px; top:10px; width:34px; height:34px; border:0; background:transparent; color:var(--soft); font-size:1.6rem; line-height:1; cursor:pointer; border-radius:8px; }
.doc-x:hover{ background:var(--line); color:var(--ink); }
.doc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2.5vw,26px); }
.doc{ background:var(--surface,#fff); border:1px solid var(--line); border-radius:12px; padding:18px; display:flex; flex-direction:column; }
.doc-h{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; border-bottom:2px solid var(--orange); padding-bottom:12px; margin-bottom:12px; }
.doc-biz{ font-family:"Archivo",sans-serif; font-weight:800; font-size:1.05rem; color:var(--ink); }
.doc-sub{ color:var(--soft); font:700 .7rem ui-monospace,monospace; letter-spacing:.06em; margin-top:3px; }
.doc-badge{ font:800 .6rem ui-monospace,monospace; letter-spacing:.08em; text-transform:uppercase; color:var(--orange-ink); background:#fff2e8; border:1px solid #f6d6bd; padding:4px 8px; border-radius:100px; white-space:nowrap; }
.doc-meta{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px; }
.doc-meta span{ display:block; color:var(--soft); font-size:.6rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:2px; }
.doc-meta b{ font-size:.82rem; color:var(--ink); }
.doc-lines{ flex:1; }
.doc-line{ display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid var(--line); font-size:.82rem; }
.doc-line span{ color:var(--soft); } .doc-line b{ color:var(--ink); font-variant-numeric:tabular-nums; }
.po-lines .doc-line{ font-size:.77rem; }
.po-lines .qt{ color:var(--soft); font-size:.7rem; margin-left:5px; }
.doc-total{ display:flex; justify-content:space-between; align-items:center; padding:12px 0 4px; border-top:2px solid var(--orange); font-weight:800; color:var(--ink); }
.doc-total b{ font-family:"Archivo",sans-serif; font-size:1.35rem; }
.doc-send{ margin-top:14px; display:flex; align-items:center; justify-content:center; gap:7px; background:var(--orange); color:#0a0a0a; font-weight:800; font-size:.82rem; border:0; border-radius:9px; padding:11px; cursor:pointer; }
.doc-send:hover{ background:#ff8126; }
@media(max-width:680px){ .doc-grid{ grid-template-columns:1fr; } .doc-sheet{ padding:16px; } }


/* ===== SPOTLIGHT BLOCKS (see it in the product) ===== */
.spotlights{ display:flex; flex-direction:column; gap:clamp(50px,7vw,96px); }
.spotlight{ display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(30px,5vw,64px); align-items:center; }
.spotlight.rev .spot-visual{ order:-1; }
.spot-visual{ display:flex; justify-content:center; }
.spot-visual .phone-mock{ margin:0; }
.spotlight .feature-copy h3{ color:var(--ink); margin-top:14px; }
.spotlight .feature-copy p{ color:var(--soft); margin-top:16px; }
.spotlight .feature-copy > a{ display:inline-block; margin-top:14px; color:var(--orange-ink); text-transform:uppercase; font-weight:900; letter-spacing:.06em; font-size:.82rem; }
@media(max-width:860px){ .spotlight{ grid-template-columns:1fr; } .spotlight.rev .spot-visual{ order:0; } }

/* mock cards used inside spotlights */
.mock{ width:100%; max-width:400px; background:var(--surface,#fff); border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 55px rgba(18,28,40,.14); overflow:hidden; }
.mock-top{ display:flex; align-items:center; gap:8px; padding:13px 16px; border-bottom:1px solid var(--line); font-weight:700; font-size:.9rem; color:var(--ink); }
.mock-dot{ width:8px; height:8px; border-radius:50%; background:#25c26e; box-shadow:0 0 0 4px rgba(37,194,110,.16); flex:0 0 auto; }
.mock-dot.o{ background:var(--orange); box-shadow:0 0 0 4px rgba(255,106,0,.16); }
.mock-badge{ margin-left:auto; font:700 .64rem ui-monospace,monospace; padding:4px 9px; border-radius:100px; background:var(--alt,#eef0f4); color:var(--soft); }
.mock-badge.ok{ background:#e6f7ee; color:#137a45; }
.mock-rows{ padding:4px 16px; }
.mrow{ display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid var(--line); font-size:.83rem; }
.mrow:first-child{ border-top:0; } .mrow span{ color:var(--soft); } .mrow b{ color:var(--ink); text-align:right; }
.permit-steps{ padding:10px 16px 14px; border-top:1px solid var(--line); }
.pstep{ display:flex; align-items:center; gap:10px; padding:6px 0; font-size:.82rem; color:var(--ink); }
.pnum{ width:20px; height:20px; border-radius:50%; background:var(--orange); color:#0a0a0a; font-weight:800; font-size:.66rem; display:grid; place-items:center; flex:0 0 auto; }
.permit-link{ margin:0 16px 16px; text-align:center; background:var(--orange); color:#0a0a0a; font-weight:800; font-size:.8rem; border-radius:9px; padding:10px; }
.rollup-bars{ padding:14px 16px; }
.rbar{ margin-bottom:13px; } .rbar:last-child{ margin-bottom:0; }
.rbar-h{ display:flex; justify-content:space-between; font-size:.8rem; color:var(--ink); margin-bottom:5px; }
.rbar-h b{ font-variant-numeric:tabular-nums; color:var(--soft); font-weight:700; }
.rtrack{ height:8px; background:var(--alt,#f0f1f4); border-radius:100px; overflow:hidden; }
.rtrack i{ display:block; height:100%; background:var(--orange); border-radius:100px; }
.rtrack i.done{ background:#137a45; }
.rollup-tot{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:14px 16px; border-top:1px solid var(--line); background:var(--alt,#f7f8fb); }
.rollup-tot span{ display:block; color:var(--soft); font-size:.61rem; text-transform:uppercase; letter-spacing:.05em; margin-bottom:2px; }
.rollup-tot b{ font-family:"Archivo",sans-serif; font-size:1.15rem; color:var(--ink); } .rollup-tot b.o{ color:var(--orange-ink); }

/* Dark mode: the hero's live-dashboard card stays white, but its grey labels
   washed out. Darken the muted text to near-black for contrast (light mode
   is left as-is). */
:root[data-theme="dark"] .hv-top small,
:root[data-theme="dark"] .hv-kpi small,
:root[data-theme="dark"] .hv-feed h4,
:root[data-theme="dark"] .hv-job .i small{ color:#2f3845; }

/* Dark mode: the hero card's job titles + "RYT Dashboard" heading were inheriting
   the dark-theme light ink and washing out on the white card. Keep them dark so
   every row's title reads the same solid black. */
:root[data-theme="dark"] .hv-job .i b,
:root[data-theme="dark"] .hv-top .l{ color:#151b24; }


/* ===== PRICING v2: one feature list + hover-forward price strip ===== */
.incl-panel{ max-width:920px; margin:0 auto 32px; background:var(--surface,#fff); border:1px solid var(--line); border-radius:16px; box-shadow:0 16px 40px rgba(18,28,40,.06); padding:clamp(22px,3vw,34px); }
.incl-panel h3{ text-align:center; color:var(--ink); font-size:1.15rem; }
.incl-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:11px 26px; margin-top:18px; }
.incl-item{ display:flex; gap:9px; align-items:flex-start; color:var(--ink); font-size:.92rem; }
.incl-item .ck{ color:var(--orange); font-weight:900; flex:0 0 auto; }
.price-strip{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.price-tile{ background:var(--surface,#fff); border:1px solid var(--line); border-top:3px solid #e6e7ec; border-radius:14px; padding:24px 18px; text-align:center; position:relative; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.price-tile:hover{ transform:translateY(-10px) scale(1.045); box-shadow:0 28px 60px rgba(18,28,40,.18); border-color:var(--orange); border-top-color:var(--orange); z-index:2; }
.pt-name{ color:var(--orange-ink); text-transform:uppercase; font:900 .74rem ui-monospace,monospace; letter-spacing:.13em; }
.pt-amt{ font-family:"Archivo",sans-serif; font-size:clamp(2rem,3vw,2.7rem); font-weight:800; color:var(--ink); margin-top:12px; line-height:1; }
.pt-amt small{ color:var(--soft); font-family:inherit; font-size:.85rem; font-weight:600; }
.pt-who{ color:var(--soft); font-size:.85rem; margin-top:8px; min-height:20px; }
.pt-btn{ display:flex; width:100%; margin-top:16px; }
@media (prefers-reduced-motion:reduce){ .price-tile:hover{ transform:none; } }
@media(max-width:980px){ .price-strip{ grid-template-columns:repeat(3,1fr); } .incl-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .price-strip{ grid-template-columns:1fr 1fr; } .incl-grid{ grid-template-columns:1fr; } }

/* ======================================================================
   MERGED TRADES PAGE
   Consolidates HVAC, Electrical, Plumbing, Concrete and General Contracting
   into one differentiated trade-benefit page.
   ====================================================================== */
.trades-hero h1{ max-width:20ch; }
.trades-hero h1 em{ color:#ff8a3a; }

.trade-jump{
  width:min(calc(100% - 36px),var(--max));
  margin:18px auto 0;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  position:sticky;
  top:106px;
  z-index:30;
  background:color-mix(in srgb,var(--surface,#fff) 94%,transparent);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 12px 30px rgba(18,28,40,.08);
  backdrop-filter:blur(12px);
}
.trade-jump span{
  color:var(--soft);
  font:800 .68rem/1 ui-monospace,monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
  padding:9px 8px;
}
.trade-jump a{
  border:1px solid var(--line);
  border-radius:9px;
  padding:8px 12px;
  background:var(--surface,#fff);
  color:var(--ink);
  font-family:"Archivo",system-ui,sans-serif;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.03em;
  transition:.18s ease;
}
.trade-jump a:hover{ background:var(--orange); border-color:var(--orange); color:#17110c; transform:translateY(-1px); }

.trades-intro{ padding-bottom:clamp(66px,7vw,108px); }
.trade-platform-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.trade-platform-card{
  min-height:235px;
  padding:24px;
  background:var(--surface,#fff);
  border:1px solid var(--line);
  border-top:3px solid var(--orange);
  border-radius:14px;
  box-shadow:0 14px 32px rgba(18,28,40,.06);
}
.trade-card-num{ display:block; color:var(--orange-ink); font:900 .7rem ui-monospace,monospace; letter-spacing:.16em; margin-bottom:22px; }
.trade-platform-card h3{ color:var(--ink); font-size:1.15rem; line-height:1.16; }
.trade-platform-card p{ color:var(--soft); font-size:.9rem; margin-top:12px; }

.trade-detail{
  scroll-margin-top:180px;
  position:relative;
}
.trade-detail::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:100vw;
  height:100%;
  transform:translateX(-50%);
  z-index:-1;
  background:linear-gradient(90deg,transparent,rgba(255,106,0,.025) 50%,transparent);
}
.trade-detail-alt::before{ background:var(--alt,#f4f5f8); }
.trade-detail-head{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:clamp(30px,5vw,72px);
  align-items:end;
  margin-bottom:36px;
}
.trade-detail-head h2{ color:var(--ink); max-width:16ch; }
.trade-lede{ color:var(--soft); max-width:66ch; margin-top:18px; font-size:1.03rem; }
.trade-benefit-callout{
  padding:22px 24px;
  background:var(--navy);
  border:1px solid #243952;
  border-left:5px solid var(--orange);
  border-radius:12px;
  box-shadow:0 18px 38px rgba(14,27,46,.16);
}
.trade-benefit-callout small{
  display:block;
  color:#ff9b57;
  font:800 .68rem ui-monospace,monospace;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-bottom:9px;
}
.trade-benefit-callout strong{ color:#fff; font-size:1.02rem; line-height:1.4; }

.trade-benefit-layout{
  display:grid;
  grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);
  gap:18px;
  align-items:stretch;
}
.trade-benefit-primary{
  min-height:100%;
  padding:clamp(26px,3vw,36px);
  background:linear-gradient(155deg,var(--navy),#132844);
  border:1px solid #243952;
  border-radius:16px;
  box-shadow:0 20px 45px rgba(14,27,46,.17);
}
.benefit-kicker{
  color:#ff9b57;
  font:900 .68rem ui-monospace,monospace;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.trade-benefit-primary h3{ color:#fff; font-size:clamp(1.5rem,2.4vw,2.05rem); margin-top:16px; }
.trade-benefit-primary p{ color:#c3ccd8; margin-top:16px; }
.trade-demo-link{ display:inline-block; color:#ff9b57; font-weight:900; text-transform:uppercase; letter-spacing:.05em; font-size:.8rem; margin-top:18px; }
.trade-demo-link:hover{ color:#fff; }

.trade-benefits{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  list-style:none;
  margin:0;
  padding:0;
}
.trade-benefits li{
  padding:20px 21px;
  background:var(--surface,#fff);
  border:1px solid var(--line);
  border-left:4px solid var(--orange);
  border-radius:12px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.trade-benefits li:hover{ transform:translateY(-2px); border-color:#efc7a6; box-shadow:0 14px 30px rgba(18,28,40,.08); }
.trade-benefits b{ display:block; color:var(--ink); font-size:.95rem; margin-bottom:6px; }
.trade-benefits span{ display:block; color:var(--soft); font-size:.88rem; line-height:1.52; }

.trades-summary{ text-align:center; }
.trades-summary .section-heading{ margin-left:auto; margin-right:auto; }
.trade-summary-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.trade-summary-grid a{
  min-height:130px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  padding:20px 16px;
  background:var(--surface,#fff);
  border:1px solid var(--line);
  border-top:3px solid var(--orange);
  border-radius:12px;
  text-align:left;
  transition:.18s ease;
}
.trade-summary-grid a:hover{ transform:translateY(-3px); box-shadow:0 16px 34px rgba(18,28,40,.09); }
.trade-summary-grid small{ color:var(--orange-ink); font:900 .67rem ui-monospace,monospace; letter-spacing:.1em; text-transform:uppercase; }
.trade-summary-grid strong{ color:var(--ink); font-size:.91rem; line-height:1.35; }

:root[data-theme="dark"] .trade-jump{ background:rgba(14,27,46,.94); }
:root[data-theme="dark"] .trade-detail-alt::before{ background:rgba(255,255,255,.025); }
:root[data-theme="dark"] .trade-platform-card,
:root[data-theme="dark"] .trade-benefits li,
:root[data-theme="dark"] .trade-summary-grid a,
:root[data-theme="dark"] .trade-jump a{ box-shadow:none; }

@media(max-width:1040px){
  .trade-platform-grid{ grid-template-columns:repeat(2,1fr); }
  .trade-summary-grid{ grid-template-columns:repeat(3,1fr); }
}
@media(max-width:860px){
  .trade-jump{ position:relative; top:auto; }
  .trade-detail{ scroll-margin-top:30px; }
  .trade-detail-head,
  .trade-benefit-layout{ grid-template-columns:1fr; }
  .trade-detail-head h2{ max-width:20ch; }
}
@media(max-width:650px){
  .trade-platform-grid,
  .trade-benefits,
  .trade-summary-grid{ grid-template-columns:1fr; }
  .trade-platform-card{ min-height:auto; }
  .trade-jump{ justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; }
  .trade-jump span,.trade-jump a{ white-space:nowrap; }
}

/* ================= FOOTER SOCIAL LINKS ================= */
.footer-socials{
  margin-top:22px;
}
.footer-social-label{
  display:block;
  margin-bottom:10px;
  color:#9fabbb;
  font:800 .72rem ui-monospace,monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.footer-socials .social-links{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.footer-socials .social-link{
  width:42px;
  height:42px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #31445d;
  border-radius:50%;
  background:#132840;
  color:#d7dee8;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.footer-socials .social-link svg{
  width:19px;
  height:19px;
  display:block;
  fill:currentColor;
}
.footer-socials .social-link:hover{
  transform:translateY(-2px);
  background:var(--orange);
  border-color:var(--orange);
  color:#20150a;
  box-shadow:0 8px 20px rgba(255,106,0,.2);
}
.footer-socials .social-link:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:3px;
}
:root[data-theme="dark"] .footer-social-label{
  color:#9fabbb;
}
:root[data-theme="dark"] .footer-socials .social-link{
  background:#132840;
  border-color:#31445d;
  color:#d7dee8;
}
:root[data-theme="dark"] .footer-socials .social-link:hover{
  background:var(--orange);
  border-color:var(--orange);
  color:#20150a;
}
@media(max-width:700px){
  .footer-socials{
    margin-top:18px;
  }
}

/* ===== RUNYOURTRADES FAQ + SEO KNOWLEDGE LAYER ===== */
.platform-knowledge{ scroll-margin-top:110px; }
.knowledge-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.knowledge-card{ min-width:0; padding:26px; border:1px solid var(--line,#343434); border-top:3px solid rgba(255,106,0,.45); background:var(--surface,#111); box-shadow:0 12px 30px rgba(18,28,40,.05); }
.knowledge-card > span{ display:block; color:var(--orange); font:900 .72rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.16em; margin-bottom:15px; }
.knowledge-card h3{ font-size:clamp(1.15rem,1.6vw,1.5rem); color:var(--ink,#fff); }
.knowledge-card p{ color:var(--soft,#9d9d9d); margin:14px 0 0; font-size:.94rem; }
.knowledge-card p strong{ color:var(--ink,#fff); }
.knowledge-wide{ grid-column:span 2; }
.faq-intro{ color:var(--soft,#8e8e8e); margin-top:18px; max-width:520px; }
.faq-more{ margin-top:12px; }

/* Dedicated FAQ page */
.faq-page-body main{ overflow:hidden; }
.faq-hero{ width:min(calc(100% - 36px),var(--max)); margin:24px auto 0; padding:clamp(52px,7vw,90px); display:grid; grid-template-columns:1fr; gap:clamp(35px,6vw,80px); align-items:center; background:radial-gradient(circle at 85% 10%,rgba(255,106,0,.22),transparent 34%),var(--navy,#0e1b2e); border:1px solid #24364e; border-bottom:5px solid var(--orange); border-radius:20px; box-shadow:0 24px 60px rgba(18,28,40,.16); }
.faq-hero h1{ color:#fff; max-width:850px; }
.faq-hero h1 em{ color:#ff8a3a; }
.faq-hero-copy > p:not(.eyebrow){ margin-top:22px; max-width:820px; color:#c3ccd8; font-size:clamp(1rem,1.35vw,1.16rem); }
.faq-hero-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.faq-hero .button-secondary{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.faq-jump{ width:min(calc(100% - 36px),var(--max)); margin:18px auto 0; display:flex; flex-wrap:wrap; gap:8px; }
.faq-jump a{ border:1px solid var(--line,#343434); border-left:4px solid var(--orange); background:var(--surface,#111); color:var(--orange-ink,var(--orange)); padding:9px 13px; font:800 .76rem/1.2 "Archivo",system-ui,sans-serif; text-transform:uppercase; letter-spacing:.06em; }
.faq-page-wrap{ width:min(calc(100% - 36px),var(--max)); margin:0 auto; padding:clamp(55px,6vw,90px) 0; }
.faq-category{ padding:34px 0 48px; scroll-margin-top:110px; }
.faq-category + .faq-category{ border-top:1px solid var(--line,#343434); }
.faq-category-head{ display:grid; grid-template-columns:48px 1fr; align-items:end; gap:14px; margin-bottom:22px; }
.faq-category-head > span{ color:var(--orange); font:900 .72rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.15em; padding-bottom:5px; }
.faq-category-head h2{ color:var(--ink,#fff); font-size:clamp(1.8rem,3.5vw,3.2rem); }
.faq-page-list{ border-top:1px solid var(--line,#343434); }
.faq-item{ border-bottom:1px solid var(--line,#343434); scroll-margin-top:120px; }
.faq-item summary{ list-style:none; cursor:pointer; display:grid; grid-template-columns:44px 1fr 30px; align-items:center; gap:10px; padding:21px 0; color:var(--ink,#fff); font-family:"Archivo",system-ui,sans-serif; font-weight:800; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-num{ color:var(--orange); font:900 .7rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.12em; }
.faq-q{ font-size:clamp(1rem,1.5vw,1.15rem); }
.faq-plus{ color:var(--orange); text-align:right; font-size:1.45rem; transition:transform .18s ease; }
.faq-item[open] .faq-plus{ transform:rotate(45deg); }
.faq-item[open] summary{ color:var(--orange-ink,var(--orange)); }
.faq-answer{ padding:0 42px 22px 54px; max-width:1000px; }
.faq-answer p{ color:var(--soft,#8e8e8e); margin:0; font-size:1rem; }
.faq-bottom-cta{ width:min(calc(100% - 36px),var(--max)); margin:0 auto 70px; padding:clamp(55px,7vw,85px) 24px; text-align:center; background:radial-gradient(circle at 50% 0%,rgba(255,106,0,.2),transparent 55%),var(--navy,#0e1b2e); border-top:4px solid var(--orange); border-bottom:4px solid var(--orange); }
.faq-bottom-cta h2{ color:#fff; max-width:840px; margin:0 auto; }
.faq-bottom-cta > p:not(.eyebrow){ max-width:720px; margin:18px auto 0; color:#c3ccd8; }

:root[data-theme="dark"] .knowledge-card, :root[data-theme="dark"] .faq-jump a{ background:#111b29; border-color:#27384c; }
:root[data-theme="dark"] .knowledge-card h3, :root[data-theme="dark"] .knowledge-card p strong, :root[data-theme="dark"] .faq-category-head h2, :root[data-theme="dark"] .faq-item summary{ color:#eef3f8; }
:root[data-theme="dark"] .knowledge-card p, :root[data-theme="dark"] .faq-answer p{ color:#9eabba; }
:root[data-theme="dark"] .faq-category + .faq-category, :root[data-theme="dark"] .faq-page-list, :root[data-theme="dark"] .faq-item{ border-color:#27384c; }

@media(max-width:980px){
  .knowledge-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .faq-hero{ grid-template-columns:1fr; }
}
@media(max-width:700px){
  .knowledge-grid{ grid-template-columns:1fr; }
  .knowledge-wide{ grid-column:auto; }
  .faq-hero,.faq-page-wrap,.faq-jump,.faq-bottom-cta{ width:calc(100% - 20px); }
  .faq-hero{ padding:42px 20px; }
  .faq-category-head{ grid-template-columns:36px 1fr; }
  .faq-item summary{ grid-template-columns:34px 1fr 24px; }
  .faq-answer{ padding-left:44px; padding-right:10px; }
}


/* ======================================================================
   BANNER STYLE ISOLATION
   Keep the global RunYourTrades style/theme system everywhere EXCEPT the
   brand banner artwork. These rules intentionally come last so earlier
   light/dark-theme and responsive banner rules cannot tint, crop, fade,
   blend, frame, or otherwise alter the banner image.
   ====================================================================== */
.brand-banner {
  width: min(calc(100% - 36px), var(--max));
  margin: 18px auto 0;
  position: relative;
  min-height: 0 !important;
  overflow: visible;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.brand-banner::before,
.brand-banner::after {
  content: none !important;
  display: none !important;
}

.brand-banner > img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  transform: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Preserve only responsive sizing; do not restyle the artwork. */
@media (max-width: 700px) {
  .brand-banner {
    width: calc(100% - 20px);
    min-height: 0 !important;
  }

  .brand-banner > img {
    height: auto !important;
  }
}
