
  :root{
    --blue-deep:#0A3D7A;
    --blue:#0B57B5;
    --blue-bright:#1B7CE8;
    --blue-pale:#EAF2FC;
    --blue-line:#D3E3F7;
    --steel:#5A6B7E;
    --steel-light:#90A2B8;
    --white:#FFFFFF;
    --ink:#0E1E33;
    --green:#1E8E5A;
    --line-dark:rgba(14,30,51,0.1);
    --radius:4px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',sans-serif;
    background:var(--white);
    color:var(--ink);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Barlow Condensed',sans-serif;
    text-transform:uppercase;
    letter-spacing:0.01em;
    line-height:1.05;
    font-weight:700;
  }
  .mono{font-family:'JetBrains Mono',monospace;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  .eyebrow{
    font-family:'JetBrains Mono',monospace;
    font-size:12px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    font-weight:600;
  }

  /* ---------- TOPBAR ---------- */
  .topbar{
    background:var(--blue-deep);
    color:#fff;
    padding:10px 0;
    font-family:'JetBrains Mono',monospace;
    font-size:12px;
    letter-spacing:0.04em;
  }
  .topbar .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
  .topbar a{color:#9FCBFF;font-weight:600;}

  /* ---------- HEADER ---------- */
  header.site{
    background:#fff;
    border-bottom:1px solid var(--line-dark);
    padding:16px 0;
    position:sticky;
    top:0;
    z-index:60;
  }
  .header-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  .logo{
    font-family:'Barlow Condensed',sans-serif;
    font-weight:800;
    font-size:23px;
    letter-spacing:0.02em;
    text-transform:uppercase;
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--blue-deep);
  }
  .logo .mark{
    width:30px;height:30px;
    background:var(--blue);
    border-radius:6px;
    display:flex;align-items:center;justify-content:center;
    color:#fff;
    font-size:15px;
    font-weight:800;
  }
  .header-cta{
    background:var(--blue);
    color:#fff;
    font-family:'Barlow Condensed',sans-serif;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.03em;
    font-size:14px;
    padding:11px 20px;
    border-radius:var(--radius);
    border:none;
    cursor:pointer;
  }
  .header-cta:hover{background:var(--blue-deep);}

  /* ---------- HERO ---------- */
  .hero{
    background:linear-gradient(160deg,var(--blue-deep) 0%, var(--blue) 55%, var(--blue-bright) 100%);
    color:#fff;
    padding:56px 0 64px;
    position:relative;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute;
    top:-220px;right:-160px;
    width:600px;height:600px;
    background:radial-gradient(circle, rgba(255,255,255,0.12), transparent 70%);
    pointer-events:none;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:48px;
    align-items:start;
    position:relative;
    z-index:1;
  }
  .hero-tag{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,0.14);
    border:1px solid rgba(255,255,255,0.35);
    color:#fff;
    padding:6px 12px;
    border-radius:30px;
    font-family:'JetBrains Mono',monospace;
    font-size:11.5px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    margin-bottom:20px;
  }
  .hero h1{
    font-size:clamp(34px,4.4vw,54px);
    margin-bottom:14px;
  }
  .hero h1 span{color:#BFE0FF;}
  .hero .what-we-sell{
    font-family:'Inter',sans-serif;
    font-size:15.5px;
    font-weight:600;
    color:#fff;
    background:rgba(255,255,255,0.1);
    border-left:3px solid #BFE0FF;
    padding:10px 14px;
    border-radius:4px;
    max-width:540px;
    margin-bottom:18px;
  }
  .hero p.lead{
    font-size:16.5px;
    color:#D6E8FF;
    max-width:520px;
    margin-bottom:28px;
  }
  .hero-stats{
    display:flex;
    gap:28px;
    margin-top:36px;
    flex-wrap:wrap;
  }
  .hstat .num{
    font-family:'Barlow Condensed',sans-serif;
    font-size:30px;
    font-weight:800;
    color:#fff;
  }
  .hstat .num span{color:#BFE0FF;}
  .hstat .lbl{
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:#C3DCF7;
  }
  .hero-badges{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:28px;
  }
  .hbadge{
    border:1px solid rgba(255,255,255,0.35);
    color:#E2EFFF;
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    letter-spacing:0.04em;
    padding:6px 10px;
    border-radius:30px;
  }

  /* ---------- FORM CARD ---------- */
  .form-card{
    background:#fff;
    color:var(--ink);
    border-radius:10px;
    padding:44px 40px 38px;
    box-shadow:0 24px 50px rgba(10,61,122,0.35);
    position:relative;
  }
  .form-card .corner{
    position:absolute;
    width:9px;height:9px;
    border:2px solid var(--blue-bright);
    opacity:0.8;
  }
  .form-card .corner.tl{top:8px;left:8px;border-right:none;border-bottom:none;}
  .form-card .corner.tr{top:8px;right:8px;border-left:none;border-bottom:none;}
  .form-card .corner.bl{bottom:8px;left:8px;border-right:none;border-top:none;}
  .form-card .corner.br{bottom:8px;right:8px;border-left:none;border-top:none;}
  .form-card h3{
    font-size:32px;
    margin-bottom:8px;
    color:var(--blue-deep);
  }
  .form-card .sub{
    font-size:16px;
    color:var(--steel);
    margin-bottom:26px;
  }
  .field{margin-bottom:13px;}
  .field label{
    display:block;
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:var(--steel);
    margin-bottom:5px;
  }
  .field input, .field select{
    width:100%;
    border:1.5px solid var(--blue-line);
    background:#fff;
    border-radius:var(--radius);
    padding:11px 12px;
    font-family:'Inter',sans-serif;
    font-size:14.5px;
    color:var(--ink);
  }
  .field input:focus, .field select:focus{
    outline:none;
    border-color:var(--blue-bright);
  }
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .submit-btn{
    width:100%;
    background:var(--blue);
    color:#fff;
    font-family:'Barlow Condensed',sans-serif;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.03em;
    font-size:16px;
    padding:14px;
    border:none;
    border-radius:var(--radius);
    cursor:pointer;
    margin-top:6px;
    transition:background 0.15s ease;
  }
  .submit-btn:hover{background:var(--blue-deep);}
  .form-note{
    font-size:11.5px;
    color:var(--steel);
    text-align:center;
    margin-top:10px;
  }
  .trust-row{
    display:flex;
    justify-content:space-between;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid var(--line-dark);
    font-family:'JetBrains Mono',monospace;
    font-size:10.5px;
    color:var(--steel);
    letter-spacing:0.02em;
  }

  /* ---------- SECTION GENERIC ---------- */
  section{padding:64px 0;}
  .section-head{
    text-align:center;
    max-width:680px;
    margin:0 auto 44px;
  }
  .section-head .eyebrow{color:var(--blue);display:block;margin-bottom:10px;}
  .section-head h2{font-size:clamp(26px,3.4vw,38px);color:var(--blue-deep);}
  .section-head p{color:var(--steel);font-size:15.5px;margin-top:10px;}

  /* ---------- WHAT WE SELL STRIP ---------- */
  .sell-strip{
    background:var(--blue-pale);
    border-bottom:1px solid var(--blue-line);
    padding:28px 0;
  }
  .sell-strip .wrap{
    display:flex;
    align-items:center;
    gap:24px;
    flex-wrap:wrap;
    justify-content:center;
    text-align:center;
  }
  .sell-strip p{
    font-size:15px;
    color:var(--blue-deep);
    font-weight:600;
    max-width:780px;
  }
  .sell-strip p b{color:var(--blue);}

  /* ---------- PRODUCT CARDS ---------- */
  .products{background:#fff;}
  .product-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
  }
  .pcard{
    background:#fff;
    border:1px solid var(--blue-line);
    border-radius:6px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    position:relative;
    transition:box-shadow 0.2s ease, transform 0.2s ease;
  }
  .pcard:hover{box-shadow:0 16px 32px rgba(10,61,122,0.12);transform:translateY(-2px);}
  .pcard .ptag{
    position:absolute;
    top:16px;left:16px;
    background:var(--blue-deep);
    color:#fff;
    font-family:'JetBrains Mono',monospace;
    font-size:10.5px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding:5px 10px;
    border-radius:3px;
    z-index:2;
  }
  .pcard .pimg{
    height:210px;
    background:var(--blue-pale);
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    overflow:hidden;
  }
  .pcard .pimg img{
    height:100%;
    width:100%;
    object-fit:cover;
  }
  .pcard .pimg.diagram{
    background:linear-gradient(135deg,var(--blue-deep),var(--blue));
    flex-direction:column;
    gap:10px;
  }
  .pcard .pimg.diagram svg{width:64px;height:64px;opacity:0.9;}
  .pcard .pimg.diagram span{
    color:#D6E8FF;
    font-family:'JetBrains Mono',monospace;
    font-size:12px;
    letter-spacing:0.05em;
    text-align:center;
    padding:0 16px;
  }
  .pcard-body{padding:22px 22px 24px;flex:1;display:flex;flex-direction:column;}
  .pcard h3{font-size:24px;margin-bottom:6px;color:var(--blue-deep);}
  .pcard .pdesc{font-size:14px;color:var(--steel);margin-bottom:14px;}
  .spec-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px 14px;
    margin-bottom:18px;
    border-top:1px dashed var(--blue-line);
    padding-top:14px;
  }
  .spec-list .spec{
    font-size:12.5px;
    color:var(--ink);
    display:flex;
    justify-content:space-between;
    gap:6px;
    border-bottom:1px dashed var(--blue-line);
    padding-bottom:6px;
  }
  .spec-list .spec .k{color:var(--steel);font-family:'JetBrains Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:0.02em;}
  .spec-list .spec .v{font-weight:600;text-align:right;}
  .pcard-foot{
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .pcard-foot .best-for{font-size:12px;color:var(--steel);max-width:160px;}
  .pcard-cta{
    background:var(--blue);
    color:#fff;
    font-family:'Barlow Condensed',sans-serif;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.02em;
    font-size:13.5px;
    padding:11px 18px;
    border-radius:var(--radius);
    white-space:nowrap;
    border:none;
    cursor:pointer;
  }
  .pcard-cta:hover{background:var(--blue-deep);}

  /* ---------- COMPARE TABLE ---------- */
  .compare{background:var(--blue-pale);}
  .compare-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 4px 18px rgba(10,61,122,0.08);
  }
  .compare-table th, .compare-table td{
    padding:14px 16px;
    text-align:left;
    font-size:13.5px;
    border-bottom:1px solid var(--blue-line);
  }
  .compare-table thead th{
    background:var(--blue-deep);
    color:#fff;
    font-family:'Barlow Condensed',sans-serif;
    text-transform:uppercase;
    font-weight:700;
    letter-spacing:0.02em;
    font-size:13px;
  }
  .compare-table tbody tr:last-child td{border-bottom:none;}
  .compare-table tbody tr:nth-child(even){background:var(--blue-pale);}
  .compare-table td.label{font-weight:600;color:var(--blue-deep);font-family:'JetBrains Mono',monospace;font-size:11.5px;text-transform:uppercase;}
  .table-scroll{overflow-x:auto;}

  /* ---------- HOW IT WORKS ---------- */
  .how{background:#fff;}
  .how-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
  }
  .hcard{
    text-align:center;
    padding:28px 20px;
    border:1px solid var(--blue-line);
    border-radius:8px;
    position:relative;
  }
  .hcard .step-num{
    width:42px;height:42px;
    border-radius:50%;
    background:var(--blue);
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-family:'Barlow Condensed',sans-serif;
    font-weight:800;
    font-size:18px;
    margin:0 auto 16px;
  }
  .hcard h4{font-size:18px;color:var(--blue-deep);margin-bottom:8px;letter-spacing:0;}
  .hcard p{font-size:13.5px;color:var(--steel);}

  /* ---------- WHY / FEATURE STRIP ---------- */
  .why{background:var(--blue-deep);color:#fff;}
  .why .section-head h2{color:#fff;}
  .why .section-head p{color:#C3DCF7;}
  .why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
  }
  .wcard{
    border:1px solid rgba(255,255,255,0.18);
    border-radius:6px;
    padding:22px 18px;
    text-align:left;
  }
  .wcard .ico{
    width:38px;height:38px;
    border-radius:50%;
    background:rgba(255,255,255,0.14);
    color:#BFE0FF;
    display:flex;align-items:center;justify-content:center;
    font-family:'Barlow Condensed',sans-serif;
    font-weight:800;
    margin-bottom:14px;
    font-size:15px;
  }
  .wcard h4{font-size:16px;color:#fff;margin-bottom:6px;letter-spacing:0;}
  .wcard p{font-size:13px;color:#C3DCF7;}

  /* ---------- INDUSTRIES STRIP ---------- */
  .industries{background:#fff;}
  .ind-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
  }
  .icard{
    background:var(--blue-pale);
    border:1px solid var(--blue-line);
    border-radius:6px;
    padding:18px 16px;
    font-size:13.5px;
    font-weight:600;
    color:var(--blue-deep);
    text-align:center;
  }

  /* ---------- WHY CHOOSE US ---------- */
  .choose-us{background:#fff;}
  .choose-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
  }
  .ccard{
    border:1px solid var(--blue-line);
    border-radius:8px;
    padding:26px 24px;
    position:relative;
    background:var(--blue-pale);
  }
  .ccard .cnum{
    font-family:'Barlow Condensed',sans-serif;
    font-weight:800;
    font-size:42px;
    color:var(--blue-bright);
    opacity:0.35;
    line-height:1;
    margin-bottom:10px;
  }
  .ccard h4{font-size:18px;color:var(--blue-deep);margin-bottom:8px;letter-spacing:0;}
  .ccard p{font-size:13.5px;color:var(--steel);}

  /* ---------- PROBLEM / SOLUTION ---------- */
  .problem-solution{background:var(--blue-pale);}
  .ps-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
  }
  .ps-card{
    background:#fff;
    border:1px solid var(--blue-line);
    border-radius:8px;
    overflow:hidden;
  }
  .ps-card .ps-problem{
    padding:20px 18px 16px;
    border-bottom:1px dashed var(--blue-line);
  }
  .ps-card .ps-problem .ps-ico{
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    color:#C0392B;
    background:rgba(192,57,43,0.08);
    border:1px solid rgba(192,57,43,0.25);
    display:inline-block;
    padding:4px 9px;
    border-radius:20px;
    letter-spacing:0.04em;
    margin-bottom:10px;
  }
  .ps-card .ps-problem h4{font-size:16.5px;color:var(--ink);letter-spacing:0;margin-bottom:6px;}
  .ps-card .ps-problem p{font-size:13px;color:var(--steel);}
  .ps-card .ps-solution{
    padding:16px 18px 20px;
    background:var(--blue-pale);
  }
  .ps-card .ps-solution .ps-ico{
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    color:var(--green);
    background:rgba(30,142,90,0.08);
    border:1px solid rgba(30,142,90,0.3);
    display:inline-block;
    padding:4px 9px;
    border-radius:20px;
    letter-spacing:0.04em;
    margin-bottom:10px;
  }
  .ps-card .ps-solution p{font-size:13px;color:var(--blue-deep);font-weight:500;}

  /* ---------- PRODUCT SOLUTIONS (USE CASES) ---------- */
  .solutions{background:#fff;}
  .sol-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
  }
  .sol-card{
    background:var(--blue-pale);
    border:1px solid var(--blue-line);
    border-radius:8px;
    padding:22px 16px;
    text-align:center;
  }
  .sol-card .sol-ico{
    width:44px;height:44px;
    margin:0 auto 14px;
    border-radius:50%;
    background:var(--blue);
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:18px;
  }
  .sol-card h4{font-size:14.5px;color:var(--blue-deep);letter-spacing:0;margin-bottom:6px;line-height:1.2;}
  .sol-card p{font-size:12px;color:var(--steel);}

  /* ---------- TESTIMONIAL STRIP ---------- */
  .testimonials{background:var(--blue-pale);}
  .test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .tcard{
    background:#fff;
    border:1px solid var(--blue-line);
    border-radius:6px;
    padding:22px;
  }
  .tcard p{font-size:13.5px;color:var(--ink);margin-bottom:14px;}
  .tcard .who{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--steel);}

  /* ---------- FINAL CTA ---------- */
  .final-cta{
    background:linear-gradient(160deg,var(--blue-deep),var(--blue-bright));
    color:#fff;
    text-align:center;
    padding:64px 0;
  }
  .final-cta h2{font-size:clamp(26px,3.6vw,40px);margin-bottom:14px;}
  .final-cta p{color:#D6E8FF;max-width:520px;margin:0 auto 26px;font-size:15.5px;}
  .final-cta .submit-btn{max-width:280px;margin:0 auto;}
  .final-cta .submit-btn{display:inline-block;background:#fff;color:var(--blue-deep);}
  .final-cta .submit-btn:hover{background:#EAF2FC;}

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--blue-deep);
    color:#BFE0FF;
    padding:26px 0;
    font-size:12.5px;
    text-align:center;
  }
  footer a{color:#fff;text-decoration:underline;}

  /* ---------- STICKY MOBILE BAR ---------- */
  .sticky-bar{
    display:none;
    position:fixed;
    bottom:0;left:0;right:0;
    background:var(--blue-deep);
    padding:12px 16px;
    z-index:50;
    box-shadow:0 -6px 20px rgba(0,0,0,0.25);
  }
  .sticky-bar button{
    width:100%;
    background:#fff;
    color:var(--blue-deep);
    font-family:'Barlow Condensed',sans-serif;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.03em;
    font-size:15px;
    padding:13px;
    border:none;
    border-radius:var(--radius);
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:980px){
    .hero-grid{grid-template-columns:1fr;}
    .product-grid{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:repeat(2,1fr);}
    .test-grid{grid-template-columns:1fr;}
    .how-grid{grid-template-columns:1fr;}
    .ind-grid{grid-template-columns:repeat(2,1fr);}
    .choose-grid{grid-template-columns:1fr;}
    .ps-grid{grid-template-columns:repeat(2,1fr);}
    .sol-grid{grid-template-columns:repeat(3,1fr);}
  }
  @media (max-width:640px){
    .header-cta{font-size:12.5px;padding:9px 14px;}
    .topbar .wrap{font-size:11px;}
    .hero{padding:32px 0 44px;}
    .hero-stats{gap:18px;}
    .field-row{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:1fr;}
    section{padding:48px 0;}
    .sticky-bar{display:block;}
    body{padding-bottom:70px;}
    .spec-list{grid-template-columns:1fr;}
    .sell-strip p{font-size:14px;}
    .ps-grid{grid-template-columns:1fr;}
    .sol-grid{grid-template-columns:repeat(2,1fr);}
  }
  
  
  
  .video-wrap{
    position:relative;
    width:100%;
}

.video-wrap{
    position:relative;
    max-width:900px;
    margin:0 auto;
}

.video-wrap video{
    width:100%;
    height:400px;
    object-fit:cover;
    border-radius:10px;
}

.youtube-btn{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    width:70px;
    height:70px;
    background:#ff0000;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    box-shadow:0 5px 20px rgba(0,0,0,0.3);
}

.youtube-btn span{
    color:#fff;
    font-size:30px;
    margin-left:5px;
}

/* ================= BOOK A DEMO MODAL ================= */
.pt-overlay{
  position:fixed; inset:0; background:rgba(10,20,35,.65);
  display:none; align-items:center; justify-content:center;
  z-index:9999; padding:16px;
}
.pt-overlay.open{ display:flex; }
.pt-modal{
  background:#fff; border-radius:10px; width:100%; max-width:480px;
  max-height:90vh; overflow-y:auto;
  box-shadow:0 30px 70px rgba(10,30,60,.4);
  animation:pt-pop .18s ease;
}
@keyframes pt-pop{ from{opacity:0; transform:translateY(8px) scale(.98);} to{opacity:1; transform:none;} }
.pt-modal-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 22px 14px; border-bottom:1px solid var(--blue-line);
}
.pt-modal-head h2{ font-size:22px; margin:0; color:var(--blue-deep); letter-spacing:0;}
.pt-close{
  background:none; border:none; color:var(--steel); font-size:20px;
  cursor:pointer; line-height:1; padding:4px;
}
.pt-close:hover{ color:var(--blue-deep); }
.pt-steps{
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:16px 20px 4px;
}
.pt-step{ display:flex; align-items:center; gap:8px; }
.pt-step-circle{
  width:26px; height:26px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:700; border:1px solid var(--blue-line);
  color:var(--steel); background:transparent; flex-shrink:0;
  font-family:'Barlow Condensed',sans-serif;
}
.pt-step-label{ font-size:11.5px; color:var(--steel); font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:.03em;}
.pt-step.active .pt-step-circle{ background:var(--blue); border-color:var(--blue); color:#fff;}
.pt-step.active .pt-step-label{ color:var(--blue-deep); }
.pt-step.done .pt-step-circle{ background:var(--green); border-color:var(--green); color:#fff;}
.pt-step-line{ width:28px; height:1px; background:var(--blue-line); margin:0 2px;}
.pt-product-chip{
  margin:16px 20px 4px; display:flex; align-items:center; gap:12px;
  background:var(--blue-pale); border:1px solid var(--blue-line);
  border-radius:8px; padding:10px 14px; font-size:13.5px; color:var(--blue-deep); font-weight:600;
}
.pt-product-chip .dot{ width:8px; height:8px; border-radius:50%; background:var(--blue); flex-shrink:0;}
.pt-body{ padding:16px 22px 8px; }
.pt-section-label{
  font-size:11.5px; color:var(--steel); text-transform:uppercase; font-family:'JetBrains Mono',monospace;
  letter-spacing:.04em; margin:14px 0 10px; display:flex; align-items:center; gap:6px;
}
.pt-date-row{ display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; }
.pt-date-chip{
  flex:0 0 auto; width:56px; text-align:center; border:1px solid var(--blue-line);
  border-radius:8px; padding:8px 4px; cursor:pointer; background:#fff; color:var(--ink);
}
.pt-date-chip .dow{ font-size:10px; color:var(--steel); font-family:'JetBrains Mono',monospace;}
.pt-date-chip .dnum{ font-size:16px; font-weight:800; margin:2px 0; font-family:'Barlow Condensed',sans-serif;}
.pt-date-chip .mon{ font-size:10px; color:var(--steel); font-family:'JetBrains Mono',monospace;}
.pt-date-chip.selected{ background:var(--blue); border-color:var(--blue); }
.pt-date-chip.selected .dow, .pt-date-chip.selected .mon, .pt-date-chip.selected .dnum{ color:#fff; }
.pt-slot-row{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.pt-slot{
  border:1px solid var(--blue-line); border-radius:8px; padding:10px 14px;
  font-size:13px; background:#fff; color:var(--ink); cursor:pointer;
}
.pt-slot.selected{ border-color:var(--blue); background:var(--blue-pale); color:var(--blue-deep); font-weight:700; }
.pt-field{ margin-bottom:14px; text-align:left; }
.pt-field label{
  font-size:11px; color:var(--steel); display:block; margin-bottom:5px;
  font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:.04em;
}
.pt-field input, .pt-field textarea{
  width:100%; background:#fff; border:1.5px solid var(--blue-line); color:var(--ink);
  padding:11px 12px; border-radius:4px; font-size:14.5px; outline:none; font-family:'Inter',sans-serif;
}
.pt-field input:focus, .pt-field textarea:focus{ border-color:var(--blue-bright); }
.pt-summary{
  background:var(--blue-pale); border:1px solid var(--blue-line); border-radius:8px;
  padding:14px; font-size:13px; text-align:left; margin-bottom:10px;
}
.pt-summary div{ display:flex; justify-content:space-between; padding:5px 0; color:var(--steel); }
.pt-summary div b{ color:var(--blue-deep); font-weight:700; }
.pt-modal-foot{ display:flex; justify-content:space-between; align-items:center; padding:14px 22px 22px; gap:10px; }
.pt-btn-ghost{
  background:transparent; border:1px solid var(--blue-line); color:var(--ink);
  padding:11px 18px; border-radius:4px; font-size:13.5px; cursor:pointer;
  font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.02em;
}
.pt-btn-primary{
  background:var(--blue); border:none; color:#fff; font-weight:800;
  padding:12px 22px; border-radius:4px; font-size:14px; cursor:pointer;
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.03em;
  transition:background .15s, opacity .15s;
}
.pt-btn-primary:hover{ background:var(--blue-deep); }
.pt-btn-primary[disabled]{ opacity:.35; cursor:not-allowed; background:var(--steel-light); }
.pt-success{ text-align:center; padding:30px 20px 10px; }
.pt-success .check{
  width:56px; height:56px; border-radius:50%; background:rgba(30,142,90,.12);
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
  color:var(--green); font-size:26px;
}
.pt-success h3{ font-size:19px; color:var(--blue-deep); margin:0 0 6px; letter-spacing:0;}
.pt-success p{ color:var(--steel); font-size:13.5px; margin:0 0 20px; font-family:'Inter',sans-serif; text-transform:none;}
.pt-error-msg{ color:#C0392B; font-size:12px; margin-top:-6px; margin-bottom:10px; display:none; font-family:'Inter',sans-serif;}

