/* GENERATED by tools/build.py from src/pages/index.html (its style block and its style="..."
   attributes) - do not edit this file. Edit the source page, then run the build. */
  /* ===================== HUB: page-specific CSS =====================
     Rebuilt 2026-10-19. The visit counter showed most visits starting here and few
     going further: the old hub was a slogan, a button that only scrolled, and three
     tiles below the fold. Now the first screen shows the products, offers the demo,
     and every section ends in a door to a product page. */
  @media (min-width:901px){ .nav-links .btn{display:none} }
  .hero a:focus-visible,.base a:focus-visible{outline-color:#fff}

  /* ---------- Hero ---------- */
  .hub-hero{padding:70px 0 0}
  .hub-grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:50px;align-items:center}
  .hub-hero h1{font-size:3.3rem;max-width:640px}
  .hub-hero p.sub{max-width:560px}
  .hub-doors{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
  .hub-doors span{width:100%;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#9fc2e2;font-family:var(--font-head);font-weight:700}
  .hub-doors a{
    display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;font-size:.88rem;font-weight:600;
    color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);transition:background .15s ease,border-color .15s ease;
  }
  .hub-doors a:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5)}
  .hub-doors .new-tag{margin-left:2px;background:#a99bf7;color:#1a1240;vertical-align:0}
  .hub-stats{display:flex;flex-wrap:wrap;gap:16px 40px;padding:28px 0 32px;margin-top:56px;border-top:1px solid rgba(255,255,255,.14);position:relative}
  .hub-stat .n{font-family:var(--font-head);font-size:1.7rem;font-weight:800;color:#fff;line-height:1}
  .hub-stat .l{display:block;font-size:.84rem;color:#bfd6ea;margin-top:6px}

  /* the hero picture: Infoiles Ed's office screen behind, Infoiles Mail in front */
  .hub-visual{position:relative;min-height:400px}
  .edwin{
    position:absolute;top:0;right:0;width:88%;background:#fff;border-radius:18px;overflow:hidden;
    box-shadow:var(--shadow-lg);color:var(--ink);font-size:.74rem;
  }
  .edwin .top{display:flex;align-items:center;gap:7px;padding:10px 14px;background:#f4f7fb;border-bottom:1px solid var(--border)}
  .edwin .top i{width:9px;height:9px;border-radius:50%;display:block;background:#d5dee8}
  .edwin .top span{margin-left:8px;font-size:.68rem;color:var(--slate);background:#fff;border:1px solid var(--border);border-radius:6px;padding:3px 10px}
  .edwin .body{padding:16px 18px 18px}
  .edwin .h{font-family:var(--font-head);font-weight:800;color:var(--blue-900);font-size:.98rem}
  .edwin .s{color:var(--slate);font-size:.7rem;margin-bottom:12px}
  .edwin .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}
  .edwin .kpi{border:1px solid var(--border);border-radius:11px;padding:9px 10px;background:var(--tint-2)}
  .edwin .kpi b{display:block;font-family:var(--font-head);font-size:1.05rem;color:var(--blue-900);margin-top:2px}
  .edwin .kpi em{font-style:normal;font-size:.6rem;color:var(--slate);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
  .edwin .bars{display:flex;align-items:flex-end;gap:8px;height:70px;padding:8px 10px 0;border:1px solid var(--border);border-radius:11px}
  .edwin .bars i{flex:1;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--blue-500),var(--blue-700))}
  .edwin .bars i.hl{background:linear-gradient(180deg,#f8b977,#f4a259)}
  .hub-visual .appwin{position:absolute;left:0;bottom:0;width:78%;grid-template-columns:40px 1fr}
  .hub-visual .appwin .aw-side{display:none}
  .hub-chip{
    position:absolute;z-index:2;background:#fff;border-radius:13px;box-shadow:var(--shadow);padding:10px 13px;
    display:flex;align-items:center;gap:10px;color:var(--ink);font-size:.78rem;
  }
  .hub-chip .i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto}
  .hub-chip .i svg{width:16px;height:16px}
  .hub-chip b{display:block;font-family:var(--font-head);color:var(--blue-900);font-size:.82rem;line-height:1.15}
  .hub-chip span{color:var(--slate);font-size:.68rem}
  .hub-chip.c1{top:-40px;left:4%}
  .hub-chip.c1 .i{background:#e4f7ec;color:#1f9d57}
  .hub-chip.c2{bottom:28%;right:-12px}
  .hub-chip.c2 .i{background:#ddf6f4;color:#0f7c76}

  /* ---------- What we make ---------- */
  .hub-prods{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .hp{
    position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #e4ecf4;border-radius:20px;
    padding:30px 28px 26px;box-shadow:0 20px 44px -32px rgba(13,59,102,.45);color:inherit;
  }
  a.hp{transition:transform .2s ease,box-shadow .2s ease}
  a.hp:hover{transform:translateY(-4px);box-shadow:0 28px 56px -30px rgba(13,59,102,.55)}
  .hp .top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
  .hp .pico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto}
  .hp .pico svg{width:24px;height:24px}
  .hp h3{font-size:1.4rem;margin:0}
  .hp .state{display:block;font-size:.8rem;font-weight:600;color:#5b7288;margin-top:2px}
  .hp p{color:#4f6479;line-height:1.65;margin:0 0 16px}
  .hp ul{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px}
  .hp li{position:relative;padding-left:26px;color:#33506b;font-size:.95rem;line-height:1.5}
  .hp li::before{content:"";position:absolute;left:2px;top:.42em;width:14px;height:8px;border-left:2.4px solid #1f9d57;border-bottom:2.4px solid #1f9d57;transform:rotate(-45deg)}
  .hp .go{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:1}
  .hp .go .btn{padding:11px 20px;font-size:.9rem}
  .btn-line{background:#fff;color:var(--blue-900);border:1.5px solid #c9d8e7}
  .btn-line:hover{border-color:var(--blue-700);color:var(--blue-700);transform:translateY(-1px)}
  .hp .pgo{margin-top:auto;font-family:var(--font-head);font-weight:700;color:var(--blue-700);display:inline-flex;align-items:center;gap:7px}
  .hp .pgo svg{width:16px;height:16px;transition:transform .18s ease}
  a.hp:hover .pgo svg{transform:translateX(4px)}
  .hp-ed .pico{background:linear-gradient(150deg,#fdeedd,#fbe1c5);color:#c9721f}
  .hp-suite{background:linear-gradient(170deg,#fbfaff,#fff 40%);border-color:#e3dcff}
  .hp-suite .pico{background:linear-gradient(150deg,#f1edff,#e4ddff);color:#5b45d6}
  .hp-sec .pico{background:linear-gradient(150deg,#ddf6f4,#c6efeb);color:#0f7c76}
  .hp-bk .pico{background:linear-gradient(150deg,#f9e3da,#f2d0c3);color:#7a3316}
  .hp-apps{display:grid;gap:10px;margin:0 0 4px;position:relative;z-index:1}
  .hp-app{
    display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;
    border:1px solid #e6e0ff;border-radius:14px;background:#fff;color:inherit;transition:border-color .15s ease,transform .15s ease;
  }
  .hp-app:hover{border-color:#a99bf7;transform:translateX(3px)}
  .hp-app b{display:block;font-family:var(--font-head);color:var(--blue-900)}
  .hp-app span.d{display:block;font-size:.86rem;color:#5b7288;line-height:1.4}
  .hp-app .arr{color:#5b45d6}
  .hp-app .arr svg{width:17px;height:17px}
  .hp-app .pmark{transform:scale(.82);transform-origin:center}

  /* ---------- New: Mail, Drive and Docs ---------- */
  .hub-band{background:linear-gradient(150deg,#07223c,#0d3b66 60%,#1a2f6b);color:#fff;padding:84px 0;overflow:hidden}
  .hub-band-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .hub-band .eyebrow{color:#cfc6ff}
  .hub-band .eyebrow .dot{background:#a99bf7;box-shadow:0 0 0 4px rgba(169,155,247,.25)}
  .hub-band h2{color:#fff;font-size:2.3rem;margin:14px 0 14px}
  .hub-band p{color:#c9dcee;font-size:1.06rem;line-height:1.7;margin:0}
  .hub-band ul{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:10px}
  .hub-band li{position:relative;padding-left:28px;color:#e2ecf6}
  .hub-band li::before{content:"";position:absolute;left:2px;top:.45em;width:14px;height:8px;border-left:2.4px solid #a99bf7;border-bottom:2.4px solid #a99bf7;transform:rotate(-45deg)}
  .hub-band .acts{display:flex;flex-wrap:wrap;gap:12px}
  .btn-violet{background:#a99bf7;color:#1a1240;box-shadow:0 12px 26px -12px rgba(169,155,247,.8)}
  .btn-violet:hover{background:#9584f0;transform:translateY(-2px)}
  .hub-band .appwin{transform:perspective(1600px) rotateY(-6deg) rotateX(2deg)}

  /* ---------- The demo ---------- */
  .hub-demo-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
  .hub-demo h2{font-size:2.3rem;margin:14px 0 12px}
  .hub-demo p.lede{margin:0}
  .hub-demo .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
  .roles{list-style:none;margin:0;padding:0;display:grid;gap:12px}
  .roles li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #e4ecf4;border-radius:16px;padding:16px 18px}
  .roles .r{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;font-family:var(--font-head);font-weight:800;font-size:.85rem}
  .roles b{display:block;font-family:var(--font-head);color:var(--blue-900)}
  .roles span.d{color:#5b7288;font-size:.92rem}

  /* ---------- Trusted by ---------- */
  .logo-strip{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-top:30px}
  .logo-chip{background:#fff;border:1px solid #e4ecf4;border-radius:14px;padding:16px 22px;display:grid;place-items:center}
  .logo-chip img{height:46px;width:auto;opacity:.9}
  .tgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px}
  .tcard{background:#fff;border:1px solid #e4ecf4;border-radius:18px;padding:28px 26px;position:relative}
  .tcard blockquote{margin:0;font-family:var(--font-head);font-size:1.18rem;color:var(--blue-900);line-height:1.5}
  .tcard .attrib{display:flex;align-items:center;gap:12px;margin-top:20px}
  .tcard .av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-head);font-weight:800;font-size:.9rem}
  .tcard .nm{display:block;font-weight:700;color:var(--blue-900)}
  .tcard .rl{display:block;font-size:.84rem;color:#5b7288}

  @media(max-width:1100px){ .hub-hero h1{font-size:2.9rem} }
  @media(max-width:980px){
    .hub-grid,.hub-band-grid,.hub-demo-inner{grid-template-columns:1fr}
    .hub-visual{min-height:360px;max-width:620px}
    .hub-prods{grid-template-columns:1fr}
  }
  @media(max-width:860px){ .tgrid{grid-template-columns:1fr} }
  @media(max-width:760px){
    .hub-hero{padding:48px 0 0}
    .hub-hero h1{font-size:2.35rem}
    .hub-band{padding:62px 0}
    .hub-band h2,.hub-demo h2{font-size:1.85rem}
    .hub-stats{gap:16px 28px;margin-top:40px}
  }
  @media(max-width:560px){
    .hub-visual{min-height:300px}
    .edwin{width:96%}
    .edwin .kpis{grid-template-columns:1fr 1fr}
    .edwin .kpi:nth-child(3){display:none}
    .hub-visual .appwin{width:88%}
    .hub-chip.c2{display:none}
    .hub-hero h1{font-size:2.1rem}
  }
.s-101860af{font-size:1.2rem !important}
.s-117569e5{height:78% !important}
.s-2131180e{height:58% !important}
.s-23699087{height:92% !important}
.s-321126d8{height:54% !important}
.s-38729897{width:36px !important}
.s-64fa6533{height:46% !important}
.s-6a35f664{background:linear-gradient(150deg,#bfe0f7,#8cc4ea) !important;color:#0d3b66 !important}
.s-6e644834{background:#e6f1fb !important;color:#1b6ca8 !important}
.s-7202c2cd{height:62% !important}
.s-86abdab9{white-space:nowrap !important}
.s-a8d24f9a{background:linear-gradient(150deg,#f4a259,#ed8f3e) !important;color:#3a2208 !important}
.s-ad93fdf8{background:#fdeedd !important;color:#c9721f !important}
.s-d4a6c07d{background:#e4f7ec !important;color:#1f9d57 !important}
.s-e0c3139f{height:70% !important}
