html, body { margin: 0; padding: 0; background:#16140f; }
html { scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: border-box; }

/* quantum field background — fixed canvas injected by quantum-bg.js, sitting
   behind all content. The dark base (html/body) shows through the canvas
   wherever page sections are transparent; solid sections/cards/video cover it.
   Uses z-index:0 with content lifted to z-index:1 (NOT negative z-index, which
   iOS Safari renders behind the body backdrop and hides entirely). */
#qfield{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block;}

.hpB2{
  --bg:#16140f; --panel:#1d1b14; --deep:#100f0b; --line:rgba(231,210,150,.13);
  --ink:#ece7da; --mut:#a39a86; --dim:#6f685a;
  --amb:#e6a93c; --amb-d:#c98f28;
  background:transparent; color:var(--ink);
  font-family:'IBM Plex Sans',sans-serif; font-size:16px; line-height:1.62;
  -webkit-font-smoothing:antialiased; position:relative; z-index:1; overflow:hidden;
}
.hpB2 .kick{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--amb);font-weight:500;display:inline-flex;align-items:center;gap:12px;}
.hpB2 .kick::before{content:'';width:26px;height:1px;background:var(--amb);}

/* nav */
.hpB2 .nav{display:flex;align-items:center;justify-content:space-between;
  padding:24px 52px;border-bottom:1px solid var(--line);}
.hpB2 .brand{display:flex;align-items:center;gap:13px;}
.hpB2 .brand .mk{width:34px;height:34px;background:var(--amb);color:#1a1407;display:flex;
  align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;
  font-size:16px;font-weight:600;}
.hpB2 .brand .nm{font-family:'IBM Plex Mono',monospace;font-size:16px;letter-spacing:-.01em;
  font-weight:500;white-space:nowrap;}
.hpB2 .brand .nm b{color:var(--amb);font-weight:600;}
.hpB2 .navlinks{display:flex;gap:28px;align-items:center;}
.hpB2 .navlinks a{color:var(--mut);text-decoration:none;font-family:'IBM Plex Mono',monospace;
  font-size:13.5px;font-weight:400;transition:color .15s;white-space:nowrap;}
.hpB2 .navlinks a:hover{color:var(--ink);}
.hpB2 .navcta{display:flex;align-items:center;gap:22px;}
.hpB2 .phone{font-family:'IBM Plex Mono',monospace;font-size:14.5px;color:var(--ink);white-space:nowrap;text-decoration:none;}
.hpB2 .phone:hover{color:var(--amb);}
.hpB2 .btn{display:inline-flex;align-items:center;gap:9px;font-family:'IBM Plex Mono',monospace;
  font-size:13.5px;font-weight:500;text-decoration:none;cursor:pointer;border:none;transition:.16s;letter-spacing:.01em;white-space:nowrap;}
.hpB2 .btn-pri{background:var(--amb);color:#1a1407;padding:12px 20px;}
.hpB2 .btn-pri:hover{background:#f2bc55;}
.hpB2 .btn-out{background:transparent;color:var(--ink);border:1px solid var(--line);padding:11px 19px;}
.hpB2 .btn-out:hover{border-color:var(--amb);color:var(--amb);}

/* video stage (nav + hero over full-bleed video) */
.hpB2 .stage{position:relative;overflow:hidden;isolation:isolate;}
.hpB2 .stage-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hpB2 .stage-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(16,15,11,.82) 0%, rgba(16,15,11,.12) 20%, rgba(16,15,11,0) 44%, rgba(16,15,11,.50) 82%, var(--bg) 100%),
    linear-gradient(100deg, rgba(16,15,11,.94) 0%, rgba(16,15,11,.66) 38%, rgba(16,15,11,.16) 64%, rgba(16,15,11,.42) 100%);}

/* nav floating over the video */
.hpB2 .nav-over{position:relative;z-index:3;background:transparent;border-bottom:1px solid rgba(231,210,150,.10);}
.hpB2 .nav-over .navlinks a{color:rgba(236,231,218,.82);}
.hpB2 .nav-over .navlinks a:hover{color:#fff;}

/* hero */
.hpB2 .hero{padding:92px 52px 0;}
.hpB2 .stage .hero{position:relative;z-index:3;padding:60px 52px 150px;}
.hpB2 .stage .hero .lede{color:#dcd6c6;}
.hpB2 .stage .hero-foot{border-bottom:none;padding-bottom:0;}
.hpB2 .hero-in{max-width:1200px;margin:0 auto;display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:52px;align-items:center;}
.hpB2 .hero-copy{min-width:0;}
.hpB2 .hero h1{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:52px;line-height:1.05;
  letter-spacing:-.025em;margin:26px 0 0;max-width:640px;}
.hpB2 .hero h1 .amb{color:var(--amb);}
.hpB2 .hero-foot{display:flex;flex-direction:column;align-items:flex-start;gap:30px;
  margin-top:38px;padding-bottom:0;border-bottom:none;}
.hpB2 .hero .lede{color:var(--mut);font-size:18px;line-height:1.62;max-width:540px;margin:0;}
.hpB2 .hero .acts{display:flex;gap:13px;margin:0;flex-wrap:wrap;}
.hpB2 .hero-stats{display:flex;gap:40px;}
.hpB2 .hero-stats .st .n{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:40px;
  letter-spacing:-.02em;line-height:1;color:var(--ink);}
.hpB2 .hero-stats .st .n b{color:var(--amb);font-weight:500;}
.hpB2 .hero-stats .st .l{color:var(--dim);font-size:13px;margin-top:9px;line-height:1.4;max-width:130px;}

/* hero automation chat (live HTML overlay) */
.hpB2 .hero-chat{position:relative;z-index:3;display:flex;justify-content:flex-end;}
.hpB2 .chatwin{width:355px;max-width:100%;display:flex;flex-direction:column;gap:16px;
  font-family:'IBM Plex Sans',sans-serif;transition:opacity .4s ease;}
.hpB2 .chatwin.leaving{opacity:0;}
.hpB2 .chatwin .msg,.hpB2 .chatwin .actcard{opacity:0;}
.hpB2 .chatwin.show .msg-ai{animation:hcRise .5s .05s both;}
.hpB2 .chatwin.show .msg-hu{animation:hcRise .5s .9s both;}
.hpB2 .chatwin.show .actcard{animation:hcRise .55s 1.75s both;}
@keyframes hcRise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.hpB2 .chatwin .who{display:flex;align-items:center;gap:8px;margin:0 0 7px 2px;}
.hpB2 .chatwin .who .ic{display:inline-flex;color:rgba(255,255,255,.9);}
.hpB2 .chatwin .msg-ai .who .ic{color:var(--amb);}
.hpB2 .chatwin .who .nm{font-weight:600;font-size:13.5px;color:#fff;letter-spacing:.01em;}
.hpB2 .chatwin .who .tm{font-size:12px;color:rgba(255,255,255,.5);}
.hpB2 .chatwin .bubble{align-self:flex-start;max-width:300px;background:rgba(26,26,30,.62);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.13);
  border-radius:15px;border-top-left-radius:5px;padding:11px 15px;color:#f3f1ec;font-size:14.5px;
  line-height:1.45;box-shadow:0 10px 30px rgba(0,0,0,.34);}
.hpB2 .chatwin .bubble b{font-weight:600;color:#fff;}
.hpB2 .chatwin .actcard{margin-top:2px;}
.hpB2 .chatwin .lbl{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 8px 2px;}
.hpB2 .chatwin .card{position:relative;display:flex;align-items:center;gap:13px;
  background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:12px 15px;
  background-image:radial-gradient(rgba(255,255,255,.10) 1px,transparent 1px);
  background-size:13px 13px;background-position:top right;box-shadow:0 10px 30px rgba(0,0,0,.32);}
.hpB2 .chatwin .cic{flex:0 0 auto;width:40px;height:40px;border-radius:10px;
  background:rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;color:#fff;}
.hpB2 .chatwin .ctxt{display:flex;flex-direction:column;min-width:0;}
.hpB2 .chatwin .ctxt .t{font-weight:600;font-size:14px;color:#fff;}
.hpB2 .chatwin .ctxt .s{font-size:12.5px;color:rgba(255,255,255,.6);}
.hpB2 .chatwin .chk{margin-left:auto;color:#8fd3ab;display:inline-flex;flex:0 0 auto;}
.hpB2 .chatwin .log{font-family:'IBM Plex Mono',monospace;font-size:11px;line-height:1.7;
  margin-top:9px;padding-left:2px;display:flex;flex-direction:column;}
.hpB2 .chatwin .log span{color:rgba(225,225,230,.4);}
.hpB2 .chatwin .log span:nth-child(2){color:rgba(225,225,230,.3);}
.hpB2 .chatwin .log span:nth-child(3){color:rgba(225,225,230,.22);}
@media (prefers-reduced-motion: reduce){
  .hpB2 .chatwin .msg,.hpB2 .chatwin .actcard{opacity:1;}
  .hpB2 .chatwin.show .msg-ai,.hpB2 .chatwin.show .msg-hu,.hpB2 .chatwin.show .actcard{animation:none;}
}

/* overlapping hero cards (Atera-style) */
.hpB2 .hero-cards{position:relative;z-index:4;max-width:1120px;margin:-104px auto 0;padding:0 52px;
  display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.hpB2 .hcard{display:block;text-decoration:none;background:var(--panel);border:1px solid var(--line);
  padding:30px 30px 28px;box-shadow:0 2px 4px rgba(0,0,0,.4),0 22px 50px rgba(0,0,0,.45);transition:.2s;}
.hpB2 .hcard:hover{transform:translateY(-4px);border-color:rgba(230,169,60,.5);
  box-shadow:0 2px 4px rgba(0,0,0,.4),0 28px 60px rgba(0,0,0,.5);}
.hpB2 .hcard .hcard-k{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--amb);}
.hpB2 .hcard h3{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:23px;letter-spacing:-.01em;
  color:var(--ink);margin:12px 0 10px;}
.hpB2 .hcard p{color:var(--mut);font-size:15px;line-height:1.6;}
.hpB2 .hcard .hcard-go{display:inline-block;margin-top:16px;font-family:'IBM Plex Mono',monospace;
  font-size:13.5px;color:var(--ink);}
.hpB2 .hcard:hover .hcard-go{color:var(--amb);}
.hpB2 .hcard-amb{background:var(--amb);border-color:var(--amb);}
.hpB2 .hcard-amb .hcard-k{color:#5a430f;}
.hpB2 .hcard-amb h3,.hpB2 .hcard-amb .hcard-go{color:#1a1407;}
.hpB2 .hcard-amb p{color:#3d2f10;}
.hpB2 .hcard-amb:hover{border-color:#1a1407;}
.hpB2 .hcard-amb:hover .hcard-go{color:#1a1407;text-decoration:underline;}

/* trusted band */
.hpB2 .band{background:var(--deep);padding:20px 52px;border-bottom:1px solid var(--line);}
.hpB2 .band-in{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:13px;flex-wrap:wrap;
  font-size:14px;font-weight:500;color:var(--mut);}
.hpB2 .band-in .b{color:var(--amb);font-family:'IBM Plex Mono',monospace;font-size:12.5px;
  letter-spacing:.04em;}
.hpB2 .band-in .sep{color:var(--dim);}

/* sections */
.hpB2 section{padding:90px 52px;border-bottom:1px solid var(--line);}
.hpB2 .shead{max-width:1120px;margin:0 auto 52px;display:grid;grid-template-columns:1fr 1fr;
  gap:48px;align-items:end;}
.hpB2 .shead h2{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:40px;
  line-height:1.08;letter-spacing:-.02em;margin:18px 0 0;}
.hpB2 .shead p{color:var(--mut);font-size:16.5px;line-height:1.62;}

/* services — cards with depth */
.hpB2 .svc{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.hpB2 .svc-card{background:var(--panel);border:1px solid var(--line);padding:30px 28px 32px;
  box-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.28);transition:.2s;}
.hpB2 .svc-card:hover{border-color:rgba(230,169,60,.5);transform:translateY(-4px);
  box-shadow:0 2px 4px rgba(0,0,0,.4),0 18px 42px rgba(0,0,0,.4);}
.hpB2 .svc-card .n{font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--amb);}
.hpB2 .svc-card h3{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:20px;
  letter-spacing:-.01em;margin:18px 0 10px;}
.hpB2 .svc-card p{color:var(--mut);font-size:15px;line-height:1.6;}

/* why */
.hpB2 .why{background:var(--deep);}
.hpB2 .why-in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:48px 60px;}
.hpB2 .why-cell{border-top:2px solid var(--amb);padding-top:24px;}
.hpB2 .why-cell h3{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:23px;
  letter-spacing:-.01em;margin:0 0 11px;}
.hpB2 .why-cell p{color:var(--mut);font-size:16px;line-height:1.62;max-width:440px;}

/* how */
.hpB2 .steps{max-width:1120px;margin:0 auto;}
.hpB2 .step{display:grid;grid-template-columns:110px 1fr 1.3fr;gap:44px;padding:34px 0;
  border-top:1px solid var(--line);align-items:baseline;}
.hpB2 .step:last-child{border-bottom:1px solid var(--line);}
.hpB2 .step .sn{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:46px;
  color:var(--amb);letter-spacing:-.02em;line-height:.9;}
.hpB2 .step h3{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:24px;letter-spacing:-.01em;}
.hpB2 .step p{color:var(--mut);font-size:16px;line-height:1.62;}

/* cta */
.hpB2 .cta{padding:90px 52px;border-bottom:1px solid var(--line);}
.hpB2 .cta-in{max-width:1120px;margin:0 auto;background:var(--amb);color:#1a1407;
  padding:64px 58px;display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;}
.hpB2 .cta .ck{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:500;opacity:.7;}
.hpB2 .cta h2{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:44px;line-height:1.05;
  letter-spacing:-.025em;margin:16px 0 0;}
.hpB2 .cta .right{display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
.hpB2 .cta .right p{font-size:16px;font-weight:400;line-height:1.55;opacity:.85;}
.hpB2 .cta .ph{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:26px;letter-spacing:-.01em;color:#1a1407;text-decoration:none;}
.hpB2 .cta .btn-dk{background:#1a1407;color:var(--amb);padding:14px 24px;font-family:'IBM Plex Mono',monospace;
  font-weight:500;text-decoration:none;font-size:14px;transition:.16s;}
.hpB2 .cta .btn-dk:hover{background:#241a09;}

/* footer */
.hpB2 .foot{padding:54px 52px 40px;}
.hpB2 .foot-in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:42px;}
.hpB2 .foot .brand{margin-bottom:16px;}
.hpB2 .foot p{color:var(--mut);font-size:14.5px;max-width:300px;}
.hpB2 .foot .ch{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dim);margin-bottom:15px;}
.hpB2 .foot a{display:block;color:var(--mut);text-decoration:none;font-size:14.5px;margin-bottom:10px;}
.hpB2 .foot a:hover{color:var(--amb);}
.hpB2 .foot-bot{max-width:1120px;margin:38px auto 0;padding-top:22px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;font-family:'IBM Plex Mono',monospace;
  font-size:11.5px;color:var(--dim);letter-spacing:.04em;}
.hpB2 .foot-bot a{color:var(--dim);text-decoration:none;}
.hpB2 .foot-bot a:hover{color:var(--amb);}

/* responsive */
@media (max-width:1100px){
  .hpB2 .nav{flex-wrap:wrap;gap:12px 18px;}
  .hpB2 .navlinks{order:3;width:100%;gap:14px 20px;flex-wrap:wrap;}
}
@media (max-width:1024px){
  .hpB2 .svc{grid-template-columns:repeat(2,1fr);}
  .hpB2 .hero-in{grid-template-columns:1fr;gap:0;}
  .hpB2 .hero-chat{display:none;}
  .hpB2 .hero h1{max-width:760px;font-size:54px;}
}
@media (max-width:860px){
  .hpB2 .hero-cards{grid-template-columns:1fr;margin-top:-72px;}
}
@media (max-width:760px){
  .hpB2 .nav{flex-wrap:wrap;gap:14px;padding:18px 22px;}
  .hpB2 .navlinks{order:3;width:100%;gap:16px 18px;flex-wrap:wrap;}
  .hpB2 .navcta .phone{display:none;}
  .hpB2 .hero{padding:52px 22px 0;}
  .hpB2 .stage .hero{padding:40px 22px 110px;}
  .hpB2 .stage-veil{background:linear-gradient(180deg, rgba(16,15,11,.74) 0%, rgba(16,15,11,.30) 30%, rgba(16,15,11,.45) 70%, var(--bg) 100%);}
  .hpB2 .hero-cards{padding:0 22px;margin-top:-64px;}
  .hpB2 .hero h1{font-size:38px;}
  .hpB2 .hero-foot{gap:34px;padding-bottom:48px;}
  .hpB2 .hero-stats{gap:34px;}
  .hpB2 .band{padding:16px 22px;}
  .hpB2 section{padding:56px 22px;}
  .hpB2 .shead{grid-template-columns:1fr;gap:16px;margin-bottom:36px;}
  .hpB2 .shead h2{font-size:30px;}
  .hpB2 .svc{grid-template-columns:1fr;gap:14px;}
  .hpB2 .why-in{grid-template-columns:1fr;gap:34px;}
  .hpB2 .step{grid-template-columns:1fr;gap:8px;padding:26px 0;}
  .hpB2 .step .sn{font-size:38px;}
  .hpB2 .cta{padding:56px 22px;}
  .hpB2 .cta-in{grid-template-columns:1fr;gap:28px;padding:40px 28px;}
  .hpB2 .cta h2{font-size:32px;}
  .hpB2 .foot-in{grid-template-columns:1fr;gap:30px;}
  .hpB2 .foot-bot{flex-direction:column;gap:8px;}
}

/* ============================================================
   Multi-page: interior pages (services / why / how / about / contact)
   ============================================================ */

/* brand becomes a link home */
.hpB2 a.brand{text-decoration:none;color:inherit;}

/* current-page nav link */
.hpB2 .navlinks a.active{color:var(--amb);}
.hpB2 .nav-over .navlinks a.active{color:#fff;}

/* interior page masthead — subtle veil keeps headline text crisp over the
   animated field while letting it show through on the open (right) side */
.hpB2 .phero{position:relative;border-bottom:1px solid var(--line);
  background:linear-gradient(100deg, rgba(16,15,11,.70) 0%, rgba(16,15,11,.40) 46%, rgba(16,15,11,0) 82%);}
.hpB2 .phero-in{max-width:1120px;margin:0 auto;padding:78px 52px 64px;}
.hpB2 .phero h1{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:46px;line-height:1.06;
  letter-spacing:-.025em;margin:22px 0 0;max-width:780px;}
.hpB2 .phero h1 .amb{color:var(--amb);}
.hpB2 .phero .lede{color:var(--mut);font-size:18px;line-height:1.64;max-width:640px;margin:22px 0 0;}

/* generic prose block */
.hpB2 .prose{max-width:1120px;margin:0 auto;}
.hpB2 .prose p{color:var(--mut);font-size:16.5px;line-height:1.7;max-width:720px;margin:0 0 18px;}
.hpB2 .prose p:last-child{margin-bottom:0;}
.hpB2 .prose strong{color:var(--ink);font-weight:600;}
.hpB2 .prose a,.hpB2 .founder-copy a{color:var(--amb);text-decoration:none;
  border-bottom:1px solid rgba(230,169,60,.4);transition:.15s;}
.hpB2 .prose a:hover,.hpB2 .founder-copy a:hover{border-bottom-color:var(--amb);}

/* section "see more" link (homepage) */
.hpB2 .smore{max-width:1120px;margin:34px auto 0;text-align:right;}
.hpB2 .smore a{font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--amb);text-decoration:none;
  border-bottom:1px solid transparent;transition:.15s;}
.hpB2 .smore a:hover{border-bottom-color:var(--amb);}

/* feature checklist (services / how) */
.hpB2 .flist{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 48px;}
.hpB2 .flist .fitem{border-top:1px solid var(--line);padding-top:16px;}
.hpB2 .flist .fitem b{color:var(--ink);font-weight:600;font-size:15.5px;display:block;margin-bottom:3px;}
.hpB2 .flist .fitem p{margin:0;color:var(--mut);font-size:14.5px;line-height:1.55;}

/* compare grid (why: break-fix vs managed) */
.hpB2 .cmp{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.hpB2 .cmp .col{border:1px solid var(--line);padding:30px 30px 26px;}
.hpB2 .cmp .col.good{background:var(--panel);}
.hpB2 .cmp .col h3{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:20px;margin:0 0 16px;}
.hpB2 .cmp .col.bad h3{color:var(--mut);}
.hpB2 .cmp .col.good h3{color:var(--amb);}
.hpB2 .cmp .col ul{list-style:none;margin:0;padding:0;}
.hpB2 .cmp .col li{color:var(--mut);font-size:15px;line-height:1.55;padding:11px 0 11px 26px;position:relative;
  border-top:1px solid var(--line);}
.hpB2 .cmp .col li:first-child{border-top:none;}
.hpB2 .cmp .col li::before{position:absolute;left:0;top:11px;font-family:'IBM Plex Mono',monospace;font-size:14px;}
.hpB2 .cmp .col.bad li::before{content:'\00d7';color:var(--dim);}
.hpB2 .cmp .col.good li::before{content:'\2713';color:var(--amb);}

/* contact page */
.hpB2 .contact-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:52px;align-items:start;}
.hpB2 .cinfo .cblock{border-top:2px solid var(--amb);padding-top:20px;margin-bottom:32px;}
.hpB2 .cinfo .cblock:last-child{margin-bottom:0;}
.hpB2 .cinfo .ck{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim);margin-bottom:10px;}
.hpB2 .cinfo .cv{font-family:'IBM Plex Mono',monospace;font-size:20px;color:var(--ink);text-decoration:none;display:inline-block;line-height:1.4;}
.hpB2 .cinfo a.cv:hover{color:var(--amb);}
.hpB2 .cinfo .cv.sm{font-size:15.5px;}
.hpB2 .cinfo .cnote{color:var(--mut);font-size:14.5px;margin-top:8px;line-height:1.55;}

/* contact form */
.hpB2 .cform{background:var(--panel);border:1px solid var(--line);padding:34px 32px;}
.hpB2 .cform .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.hpB2 .cform .field{margin-bottom:18px;}
.hpB2 .cform label{display:block;font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mut);margin:0 0 8px;}
.hpB2 .cform input,.hpB2 .cform textarea,.hpB2 .cform select{width:100%;background:var(--deep);
  border:1px solid var(--line);color:var(--ink);font-family:'IBM Plex Sans',sans-serif;font-size:15px;
  padding:12px 14px;transition:.15s;}
.hpB2 .cform input:focus,.hpB2 .cform textarea:focus,.hpB2 .cform select:focus{outline:none;border-color:var(--amb);}
.hpB2 .cform textarea{resize:vertical;min-height:120px;}
.hpB2 .cform button{margin-top:2px;border:none;cursor:pointer;}
.hpB2 .cform .formnote{color:var(--dim);font-size:12.5px;margin-top:14px;line-height:1.55;}

/* service-page links inside the in-depth steps */
.hpB2 .step h3 a{color:inherit;text-decoration:none;transition:color .15s;}
.hpB2 .step h3 a:hover{color:var(--amb);}

/* ============================================================
   About — founder + photo strip
   ============================================================ */
.hpB2 .founder{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:52px;align-items:start;}
.hpB2 .ph-frame{position:relative;background:var(--panel);border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(0,0,0,.4),0 14px 34px rgba(0,0,0,.32);}
.hpB2 .ph-frame img{display:block;width:100%;height:auto;}
.hpB2 .ph-cap{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--dim);
  letter-spacing:.06em;margin-top:12px;}
.hpB2 .ph-cap b{color:var(--ink);font-weight:600;display:block;font-size:13.5px;letter-spacing:.02em;margin-bottom:2px;}
.hpB2 .founder-copy h2{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:34px;
  line-height:1.12;letter-spacing:-.02em;margin:18px 0 20px;}
.hpB2 .founder-copy p{color:var(--mut);font-size:16.5px;line-height:1.7;max-width:640px;margin:0 0 18px;}
.hpB2 .founder-copy p:last-of-type{margin-bottom:0;}
.hpB2 .founder-copy strong{color:var(--ink);font-weight:600;}
.hpB2 .photo-strip{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:900px){
  .hpB2 .founder{grid-template-columns:1fr;gap:34px;}
  .hpB2 .founder .ph-frame{max-width:420px;}
  .hpB2 .photo-strip{grid-template-columns:1fr;gap:26px;}
}

/* ============================================================
   Blog — index list + article body
   ============================================================ */
.hpB2 .bloglist{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.hpB2 .pcard{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);
  padding:30px 30px 28px;text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.28);transition:.2s;}
.hpB2 .pcard:hover{border-color:rgba(230,169,60,.5);transform:translateY(-4px);
  box-shadow:0 2px 4px rgba(0,0,0,.4),0 18px 42px rgba(0,0,0,.4);}
.hpB2 .pcard .ptag{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--amb);}
.hpB2 .pcard h2{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:21px;letter-spacing:-.01em;
  color:var(--ink);margin:13px 0 10px;line-height:1.22;}
.hpB2 .pcard p{color:var(--mut);font-size:15px;line-height:1.6;margin:0;}
.hpB2 .pcard .pgo{margin-top:auto;padding-top:18px;font-family:'IBM Plex Mono',monospace;font-size:13.5px;color:var(--ink);}
.hpB2 .pcard:hover .pgo{color:var(--amb);}
.hpB2 .pcard .pmeta{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--dim);margin-top:9px;}

/* article body */
.hpB2 .article{max-width:760px;margin:0 auto;}
.hpB2 .article .pmeta{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--dim);
  letter-spacing:.04em;margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid var(--line);}
.hpB2 .article p{color:var(--mut);font-size:17px;line-height:1.75;margin:0 0 20px;}
.hpB2 .article h2{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:27px;letter-spacing:-.02em;
  color:var(--ink);margin:46px 0 16px;line-height:1.16;}
.hpB2 .article h3{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:19px;color:var(--ink);margin:30px 0 12px;}
.hpB2 .article strong{color:var(--ink);font-weight:600;}
.hpB2 .article a{color:var(--amb);text-decoration:none;border-bottom:1px solid rgba(230,169,60,.4);transition:.15s;}
.hpB2 .article a:hover{border-bottom-color:var(--amb);}
.hpB2 .article ul,.hpB2 .article ol{color:var(--mut);font-size:17px;line-height:1.7;margin:0 0 22px;padding-left:22px;}
.hpB2 .article li{margin-bottom:10px;}
.hpB2 .article li::marker{color:var(--amb);}
.hpB2 .article blockquote{margin:28px 0;padding:6px 0 6px 24px;border-left:2px solid var(--amb);
  color:var(--ink);font-size:18px;line-height:1.6;font-style:normal;}
.hpB2 .article .keytake{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--amb);
  padding:24px 26px;margin:0 0 32px;}
.hpB2 .article .keytake b{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--amb);margin-bottom:10px;}
.hpB2 .article .keytake p{font-size:15.5px;margin:0;color:var(--mut);}
.hpB2 .article .ptable{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:15.5px;}
.hpB2 .article .ptable th,.hpB2 .article .ptable td{text-align:left;padding:12px 14px;border:1px solid var(--line);color:var(--mut);}
.hpB2 .article .ptable th{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:12.5px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--amb);background:var(--panel);}
.hpB2 .article .ptable td strong{color:var(--ink);}
.hpB2 .article .backlink{display:inline-block;margin-top:6px;font-family:'IBM Plex Mono',monospace;
  font-size:13.5px;color:var(--mut);border-bottom:none;}
.hpB2 .article .backlink:hover{color:var(--amb);}

@media (max-width:760px){
  .hpB2 .bloglist{grid-template-columns:1fr;gap:14px;}
  .hpB2 .article p,.hpB2 .article ul,.hpB2 .article ol{font-size:16px;}
  .hpB2 .article h2{font-size:23px;}
  .hpB2 .article .ptable{font-size:14px;}
  .hpB2 .article .ptable th,.hpB2 .article .ptable td{padding:9px 10px;}
}

@media (max-width:760px){
  .hpB2 .phero-in{padding:46px 22px 38px;}
  .hpB2 .phero h1{font-size:31px;}
  .hpB2 .phero .lede{font-size:16.5px;}
  /* On phones the diagonal veil would cover almost the full width and hide
     the field — use a lighter vertical veil so particles read behind the text */
  .hpB2 .phero{background:linear-gradient(180deg, rgba(16,15,11,.50) 0%, rgba(16,15,11,.18) 100%);}
  .hpB2 .smore{text-align:left;}
  .hpB2 .flist{grid-template-columns:1fr;gap:12px;}
  .hpB2 .cmp{grid-template-columns:1fr;}
  .hpB2 .contact-grid{grid-template-columns:1fr;gap:32px;}
  .hpB2 .cform{padding:26px 22px;}
  .hpB2 .cform .row{grid-template-columns:1fr;gap:0;}
}

/* ============================================================
   Motion — scroll reveal + back-to-top (added 2026-07-14)
   Sections/cards fade + slide in as they enter the viewport; a
   back-to-top control fades in after scrolling. Reveal classes are
   applied by quantum-bg.js. Both respect prefers-reduced-motion.
   ============================================================ */
.hpB2 .reveal{opacity:0;transform:translateY(22px);
  transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);
  will-change:opacity,transform;}
.hpB2 .reveal.in{opacity:1;transform:none;}

.hpB2 .qtop{position:fixed;right:24px;bottom:24px;z-index:60;width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;background:var(--amb);color:#12100b;
  border:none;cursor:pointer;text-decoration:none;opacity:0;visibility:hidden;
  transform:translateY(10px);transition:opacity .3s,transform .3s,visibility .3s,background .16s;
  box-shadow:0 10px 30px rgba(0,0,0,.45);}
.hpB2 .qtop:hover{background:var(--amb-d);}
.hpB2 .qtop.show{opacity:1;visibility:visible;transform:none;}
.hpB2 .qtop svg{width:20px;height:20px;}

@media (prefers-reduced-motion:reduce){
  .hpB2 .reveal{opacity:1!important;transform:none!important;transition:none!important;}
  .hpB2 .qtop{transition:none;}
}

/* ============================================================
   Homepage intro (added 2026-07-14)
   On the homepage, the problems we solve scatter in, then rush into
   the brand mark; a slogan resolves and the overlay lifts to reveal
   the page. Orchestrated by the inline script in index.html. Plays
   once per session; skipped for prefers-reduced-motion.
   ============================================================ */
html{scrollbar-gutter:stable;}
html.intro-active{overflow:hidden;}
.hpB2 .intro{display:none;position:fixed;inset:0;z-index:9999;background:var(--deep);
  align-items:center;justify-content:center;overflow:hidden;}
.hpB2 .intro.play{display:flex;}
.hpB2 .intro.done{animation:introOut .6s ease forwards;pointer-events:none;will-change:opacity;}
@keyframes introOut{to{opacity:0;visibility:hidden;}}
.hpB2 .intro-stage{position:relative;width:100%;max-width:900px;height:340px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}

.hpB2 .intro-words{position:absolute;inset:0;pointer-events:none;}
.hpB2 .intro-words span{position:absolute;left:50%;top:50%;
  font-family:'IBM Plex Mono',monospace;font-size:17.5px;letter-spacing:.02em;color:var(--ink);
  white-space:nowrap;opacity:0;
  transform:translate(-50%,-50%) translate(var(--x),var(--y));
  transition:opacity .5s ease, transform .85s cubic-bezier(.5,0,.2,1);}
.hpB2 .intro.s1 .intro-words span{opacity:1;transition-delay:var(--d,0s);}
.hpB2 .intro.s2 .intro-words span{opacity:0;transition-delay:0s;
  transform:translate(-50%,-50%) translate(0,0) scale(.14);}

/* central keyword the supporting words orbit, in white */
.hpB2 .intro-keyword{position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%) scale(1);font-family:'IBM Plex Mono',monospace;
  font-size:48px;font-weight:600;letter-spacing:-.01em;color:#fff;opacity:0;
  transition:opacity .5s ease, transform .8s cubic-bezier(.5,0,.2,1);}
.hpB2 .intro.s1 .intro-keyword{opacity:1;}
.hpB2 .intro.s2 .intro-keyword{opacity:0;transform:translate(-50%,-50%) scale(.3);}

.hpB2 .intro-brand{display:flex;align-items:center;gap:16px;opacity:0;transform:scale(.72);
  transition:opacity .6s ease, transform .7s cubic-bezier(.2,.7,.2,1);}
.hpB2 .intro.s2 .intro-brand{opacity:1;transform:scale(1);}
.hpB2 .intro-mk{width:58px;height:58px;background:var(--amb);color:#12100b;display:flex;
  align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:29px;font-weight:600;}
.hpB2 .intro-nm{font-family:'IBM Plex Mono',monospace;font-size:35px;letter-spacing:-.01em;color:var(--ink);}
.hpB2 .intro-nm b{color:var(--amb);}
.hpB2 .intro-keyword .amb{color:var(--amb);}

.hpB2 .intro-slogan{position:absolute;bottom:34px;left:0;right:0;
  font-family:'IBM Plex Sans',sans-serif;font-size:22px;color:var(--mut);
  opacity:0;transform:translateY(10px);transition:opacity .6s ease .05s, transform .6s ease .05s;}
.hpB2 .intro.s3 .intro-slogan{opacity:1;transform:none;}
.hpB2 .intro-slogan b{color:var(--ink);font-weight:600;}

.hpB2 .intro-skip{position:absolute;bottom:24px;right:28px;background:none;border:none;
  font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.08em;color:var(--dim);
  cursor:pointer;transition:color .15s;}
.hpB2 .intro-skip:hover{color:var(--amb);}
@media (prefers-reduced-motion:reduce){.hpB2 .intro{display:none!important;}}
@media (max-width:760px){
  .hpB2 .intro-nm{font-size:25px;}
  .hpB2 .intro-mk{width:47px;height:47px;font-size:23px;}
  .hpB2 .intro-words span{font-size:15px;}
  .hpB2 .intro-keyword{font-size:36px;}
  .hpB2 .intro-slogan{font-size:18px;padding:0 26px;}
}

/* curved divider at the bottom of the video hero */
.hpB2 .stage-curve{position:absolute;left:0;right:0;bottom:0;z-index:2;line-height:0;pointer-events:none;}
.hpB2 .stage-curve svg{display:block;width:100%;height:72px;}
.hpB2 .stage-curve path{fill:var(--bg);}
@media (max-width:760px){.hpB2 .stage-curve svg{height:42px;}}

/* ============================================================
   Legal pages (privacy / terms)
   ============================================================ */
.hpB2 .legal-meta{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.04em;
  color:var(--dim);margin:22px 0 0;}
.hpB2 .legal-body{max-width:780px;margin:0 auto;}
.hpB2 .legal-toc{background:var(--panel);border:1px solid var(--line);padding:26px 30px;
  box-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.28);margin:0 0 56px;}
.hpB2 .legal-toc .ch{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dim);margin-bottom:14px;}
.hpB2 .legal-toc ol{margin:0;padding-left:20px;columns:2;column-gap:28px;}
.hpB2 .legal-toc li{color:var(--mut);font-size:14.5px;line-height:1.9;}
.hpB2 .legal-toc a{color:var(--mut);text-decoration:none;}
.hpB2 .legal-toc a:hover{color:var(--amb);}
.hpB2 .legal-sec{scroll-margin-top:100px;}
.hpB2 .legal-sec + .legal-sec{margin-top:42px;}
.hpB2 .legal-sec h2{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:24px;
  letter-spacing:-.015em;margin:0 0 14px;}
.hpB2 .legal-sec p{color:var(--mut);font-size:16px;line-height:1.72;margin:0 0 16px;}
.hpB2 .legal-sec p:last-child{margin-bottom:0;}
.hpB2 .legal-sec ul{margin:0 0 16px;padding-left:20px;color:var(--mut);font-size:16px;line-height:1.72;}
.hpB2 .legal-sec ul:last-child{margin-bottom:0;}
.hpB2 .legal-sec a{color:var(--amb);text-decoration:none;border-bottom:1px solid rgba(230,169,60,.4);}
.hpB2 .legal-sec a:hover{border-bottom-color:var(--amb);}
.hpB2 .legal-cross{max-width:780px;margin:52px auto 0;padding-top:24px;border-top:1px solid var(--line);
  color:var(--mut);font-size:15px;}
.hpB2 .legal-cross a{color:var(--amb);text-decoration:none;border-bottom:1px solid rgba(230,169,60,.4);}
.hpB2 .legal-cross a:hover{border-bottom-color:var(--amb);}
@media (max-width:760px){
  .hpB2 .legal-toc ol{columns:1;}
}
