/* home.css - extracted from index.html inline <style> blocks, in original
   order. Loads after marketing.css so the cascade is unchanged. */

.hero-offer{ font-family:var(--g-font-display); font-size:clamp(1.15rem,2.4vw,1.72rem);
  font-weight:500; color:rgba(255,255,255,.9); margin:6px 0 2px; letter-spacing:-.01em; }
.hero-offer b{ color:var(--g-accent-glow,#7ff5ee); font-weight:700; }

.db{position:relative;overflow:hidden;padding:88px 0 92px;background:#05080D;}
  .db + .db{border-top:1px solid rgba(255,255,255,.06);}
  .db::before{content:'';position:absolute;top:-10%;right:-8%;width:62%;height:120%;
    pointer-events:none;opacity:.85;}
  .db-amber::before{background:repeating-linear-gradient(-56deg,rgba(224,163,74,.15) 0 2px,transparent 2px 17px);
    -webkit-mask-image:radial-gradient(66% 58% at 80% 10%,#000 6%,transparent 72%);
            mask-image:radial-gradient(66% 58% at 80% 10%,#000 6%,transparent 72%);}
  .db-teal::before{background:repeating-linear-gradient(-56deg,rgba(0,212,200,.15) 0 2px,transparent 2px 17px);
    -webkit-mask-image:radial-gradient(66% 58% at 80% 10%,#000 6%,transparent 72%);
            mask-image:radial-gradient(66% 58% at 80% 10%,#000 6%,transparent 72%);}
  .db-green::before{background:repeating-linear-gradient(-56deg,rgba(74,222,155,.13) 0 2px,transparent 2px 17px);
    -webkit-mask-image:radial-gradient(66% 58% at 80% 10%,#000 6%,transparent 72%);
            mask-image:radial-gradient(66% 58% at 80% 10%,#000 6%,transparent 72%);}
  .db-in{position:relative;max-width:1200px;margin:0 auto;padding:0 26px;}

  .db-eb{display:block;font-family:var(--g-font-mono,ui-monospace,monospace);font-size:11px;
    letter-spacing:.17em;text-transform:uppercase;margin-bottom:16px;}
  .db-eb::before{content:'';display:block;width:84px;height:2px;margin:0 0 14px;}
  .db-amber .db-eb{color:#F0C07A;} .db-amber .db-eb::before{background:linear-gradient(90deg,#E0A34A,transparent);}
  .db-teal  .db-eb{color:#7FF5EE;} .db-teal  .db-eb::before{background:linear-gradient(90deg,#00D4C8,transparent);}
  .db-green .db-eb{color:#93EFC4;} .db-green .db-eb::before{background:linear-gradient(90deg,#4ADE9B,transparent);}

  .db-display{font-family:var(--g-font-display,system-ui);font-weight:700;margin:0 0 44px;
    font-size:clamp(1.5rem,5.6vw,3.9rem);line-height:1.03;letter-spacing:clamp(.01em,.42vw,.1em);
    text-transform:uppercase;word-break:break-word;}
  .db-amber .db-display{color:#E0A34A;}
  .db-teal  .db-display{color:#00D4C8;}
  .db-green .db-display{color:#4ADE9B;}

  .db-cols{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:52px;align-items:start;}
  .db-lede{color:rgba(255,255,255,.72);font-size:clamp(.98rem,1.3vw,1.09rem);line-height:1.66;margin:0 0 28px;}
  .db-figs{display:flex;gap:34px;flex-wrap:wrap;margin:0 0 28px;}
  .db-fig b{display:block;font-family:var(--g-font-display,system-ui);font-weight:700;
    font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1;color:#fff;letter-spacing:-.02em;}
  .db-fig span{display:block;margin-top:7px;font-size:.72rem;letter-spacing:.09em;
    text-transform:uppercase;color:rgba(255,255,255,.52);line-height:1.45;max-width:17ch;}
  .db-btn{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 22px;border-radius:999px;
    font-weight:700;font-size:.94rem;text-decoration:none;color:#04231F;
    transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;}
  .db-amber .db-btn{background:#E0A34A;} .db-teal .db-btn{background:#00D4C8;} .db-green .db-btn{background:#4ADE9B;}
  .db-btn:hover{transform:translateY(-1px);filter:brightness(1.1);
    box-shadow:0 12px 28px -12px rgba(0,0,0,.8);color:#04231F;}

  .db-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .db-card{position:relative;display:block;text-decoration:none;border-radius:15px;padding:22px 22px 20px;
    background:rgba(255,255,255,.028);border:1px solid rgba(255,255,255,.09);overflow:hidden;
    transition:transform .24s cubic-bezier(.16,.84,.44,1),border-color .24s ease,background .24s ease;}
  .db-card::after{content:'';position:absolute;inset:0;opacity:0;pointer-events:none;
    transition:opacity .24s ease;
    background:repeating-linear-gradient(-52deg,rgba(255,255,255,.055) 0 1px,transparent 1px 12px);}
  .db-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.055);}
  .db-card:hover::after{opacity:1;}
  .db-amber .db-card:hover{border-color:rgba(224,163,74,.5);}
  .db-teal  .db-card:hover{border-color:rgba(0,212,200,.5);}
  .db-green .db-card:hover{border-color:rgba(74,222,155,.5);}
  /* G360-KIT-DBTINT */
  .db-amber .db-card{background:rgba(224,163,74,.035);border-color:rgba(224,163,74,.14);}
  .db-teal  .db-card{background:rgba(0,212,200,.035);border-color:rgba(0,212,200,.14);}
  .db-green .db-card{background:rgba(74,222,155,.035);border-color:rgba(74,222,155,.14);}
  .db-amber .db-card:hover{background:rgba(224,163,74,.075);}
  .db-teal  .db-card:hover{background:rgba(0,212,200,.075);}
  .db-green .db-card:hover{background:rgba(74,222,155,.075);}
  .db-ic{position:relative;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
    margin-bottom:14px;font-size:18px;}
  .db-amber .db-ic{background:rgba(224,163,74,.14);color:#F0C07A;border:1px solid rgba(224,163,74,.26);}
  .db-teal  .db-ic{background:rgba(0,212,200,.13);color:#7FF5EE;border:1px solid rgba(0,212,200,.26);}
  .db-green .db-ic{background:rgba(74,222,155,.13);color:#93EFC4;border:1px solid rgba(74,222,155,.26);}
  .db-card h3{position:relative;color:#fff;font-size:1.02rem;margin:0 0 8px;font-weight:650;letter-spacing:-.01em;}
  .db-card p{position:relative;color:rgba(255,255,255,.6);font-size:.87rem;line-height:1.56;margin:0 0 14px;}
  .db-go{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:650;}
  .db-amber .db-go{color:#F0C07A;} .db-teal .db-go{color:#7FF5EE;} .db-green .db-go{color:#93EFC4;}
  .db-n{position:absolute;top:18px;right:20px;font-family:var(--g-font-mono,ui-monospace,monospace);
    font-size:11px;color:rgba(255,255,255,.26);letter-spacing:.06em;}

  @media (max-width:1000px){
    .db-cols{grid-template-columns:1fr;gap:34px;}
    .db{padding:60px 0 64px;}
    .db-display{margin-bottom:30px;}
  }
  @media (max-width:600px){
    .db-grid{grid-template-columns:1fr;}
    .db-in{padding:0 18px;}
    .db-display{letter-spacing:.01em;}
    .db-figs{gap:24px;}
  }
  @media (prefers-reduced-motion:reduce){
    .db-card,.db-btn{transition:none;}
    .db-card:hover,.db-btn:hover{transform:none;}
  }

/* ---------- dark trust + product ---------- */
  .dk{position:relative;background:#05080D;overflow:hidden;padding:54px 0 58px;}
  .dk::before{content:'';position:absolute;inset:0;pointer-events:none;
    background-image:radial-gradient(rgba(0,212,200,.10) 1px,transparent 1px);
    background-size:26px 26px;opacity:.5;
    -webkit-mask-image:radial-gradient(120% 90% at 72% 0%,#000 14%,transparent 70%);
            mask-image:radial-gradient(120% 90% at 72% 0%,#000 14%,transparent 70%);}
  .dk-in{position:relative;max-width:1180px;margin:0 auto;padding:0 26px;}
  .dk .eyebrow,.dk-eb{color:#7FF5EE !important;}
  .dk h2{color:#fff;font-family:var(--g-font-display,system-ui);font-weight:700;
    font-size:clamp(1.4rem,2.4vw,1.95rem);line-height:1.14;letter-spacing:-.022em;margin:0 0 11px;}
  .dk h2 em{font-style:normal;color:#00D4C8;}
  .dk p{color:rgba(255,255,255,.68);line-height:1.66;}
  .dk a{color:#00D4C8;} .dk a:hover{color:#7FF5EE;}

  .dk-trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;
    margin-top:34px;}
  .dk-t{border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:20px 20px 18px;
    background:rgba(255,255,255,.028);transition:border-color .22s ease,background .22s ease,
    transform .22s cubic-bezier(.16,.84,.44,1);}
  .dk-t:hover{border-color:rgba(0,212,200,.42);background:rgba(255,255,255,.055);
    transform:translateY(-3px);}
  .dk-t i{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;font-size:17px;
    background:rgba(0,212,200,.13);color:#7FF5EE;border:1px solid rgba(0,212,200,.26);
    margin-bottom:13px;}
  .dk-t b{display:block;color:#fff;font-size:.98rem;font-weight:650;margin-bottom:6px;}
  /* G360-KIT-INFRA - a qualifier, not a claim: neutral chrome, no teal accent */
  .dk-t-infra i{background:rgba(255,255,255,.06);color:rgba(255,255,255,.62);
    border-color:rgba(255,255,255,.14);}
  .dk-t-infra:hover{border-color:rgba(255,255,255,.22);}

  /* G360-KIT-TRUSTBG - circuit field, recoloured to the section accent */
  /* G360-KIT-HUB2 - light directory band before the footer */
  .dirx{position:relative;isolation:isolate;overflow:hidden;padding:52px 0 56px;background:#F4F8FB;}
  .dirx::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
    background:url("hub-bg.webp") center / cover no-repeat;opacity:.95;}
  .dirx-in{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:0 26px;}
  .dirx-eb{margin:0 0 8px;font-family:var(--g-font-mono,ui-monospace,monospace);font-size:11px;
    letter-spacing:.18em;text-transform:uppercase;color:#0E8C86;}
  .dirx h2{margin:0 0 5px;color:#0B1220;font-size:clamp(1.25rem,1.9vw,1.6rem);font-weight:700;letter-spacing:-.01em;}
  .dirx-sub{margin:0 0 24px;color:#4A5A6B;font-size:.84rem;}
  .dirx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 26px;}
  .dirx-col h3{margin:0 0 10px;color:#0B1220;font-size:.7rem;font-weight:700;letter-spacing:.07em;
    text-transform:uppercase;padding-bottom:8px;border-bottom:1px solid rgba(11,18,32,.10);}
  .dirx-i{display:block;margin-bottom:9px;text-decoration:none;}
  .dirx-t{display:block;color:#0E6E9C;font-size:.78rem;font-weight:650;line-height:1.35;}
  .dirx-i:hover .dirx-t{color:#0E8C86;text-decoration:underline;}
  .dirx-d{display:block;margin-top:2px;color:#5A6A7B;font-size:.7rem;line-height:1.48;}
  @media (max-width:980px){ .dirx-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
  @media (max-width:560px){ .dirx-grid{grid-template-columns:1fr;} .dirx{padding:52px 0 56px;} }
  /* G360-KIT-GET - the conversion block: concrete process, one dominant CTA */
  /* G360-KIT-ASMTBG - someone reading findings on a device, which is what this
     section delivers. Copy sits left, subject sits right, scrim between them. */
  .getp{position:relative;isolation:isolate;overflow:hidden;background:#070C14;
    padding:50px 0 54px;border-top:1px solid rgba(255,255,255,.06);}
  .getp::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
    background:url("sec-bg-assessment.webp") right center / cover no-repeat;opacity:.62;}
  .getp::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(90deg,rgba(7,12,20,.97) 0%,rgba(7,12,20,.88) 40%,
      rgba(7,12,20,.52) 72%,rgba(7,12,20,.26) 100%);}
  .getp-in{position:relative;z-index:2;}
  .getp-in{max-width:1240px;margin:0 auto;padding:0 26px;}
  .getp-eb{display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;
    font-family:var(--g-font-mono,ui-monospace,monospace);font-size:11px;letter-spacing:.16em;
    text-transform:uppercase;color:#7FF5EE;}
  .getp h2{margin:0 0 7px;color:#fff;font-size:clamp(1.35rem,2.1vw,1.8rem);font-weight:700;
    letter-spacing:-.015em;line-height:1.18;}
  .getp h2 em{font-style:normal;color:#7FF5EE;}
  .getp-sub{margin:0 0 30px;max-width:92ch;color:rgba(255,255,255,.62);font-size:.95rem;line-height:1.65;}
  .getp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px;}
  .getp-s{padding:22px 20px;border-radius:14px;background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);}
  .getp-n{display:block;font-family:var(--g-font-mono,ui-monospace,monospace);font-size:11px;
    letter-spacing:.16em;color:#7FF5EE;margin-bottom:9px;}
  .getp-s h3{margin:0 0 7px;color:#fff;font-size:1.02rem;font-weight:650;}
  .getp-s p{margin:0;color:rgba(255,255,255,.60);font-size:.86rem;line-height:1.62;}
  .getp-cta{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 12px;}
  .getp-fine{margin:0;color:rgba(255,255,255,.44);font-size:.78rem;}
  @media (max-width:860px){
    .getp{padding:38px 0 42px;}
    .getp-steps{grid-template-columns:1fr;gap:12px;}
  }
  .getp-custom{max-width:none;margin:22px 0 0;padding:14px 16px;border-radius:12px;
    background:rgba(0,212,200,.045);border:1px solid rgba(0,212,200,.16);
    color:rgba(255,255,255,.62);font-size:.84rem;line-height:1.6;}
  .getp-custom b{color:#7FF5EE;}
  /* G360-KIT-EVID - third-party evidence the problem exists, cited as theirs */
  .evid{background:#05080D;padding:52px 0 56px;border-top:1px solid rgba(255,255,255,.06);}
  .evid-in{max-width:1240px;margin:0 auto;padding:0 26px;}
  .evid-eb{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;
    font-family:var(--g-font-mono,ui-monospace,monospace);font-size:11px;letter-spacing:.16em;
    text-transform:uppercase;color:rgba(255,255,255,.5);}
  .evid h2{margin:0 0 24px;color:#fff;font-size:clamp(1.3rem,2.1vw,1.7rem);font-weight:700;}
  .evid-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
  .evid-c{padding:20px;border-radius:14px;background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);}
  .evid-c b{display:block;color:#F0A53A;font-family:var(--g-font-display,system-ui);
    font-size:1.65rem;font-weight:700;line-height:1;margin-bottom:9px;}
  .evid-c span{display:block;color:rgba(255,255,255,.62);font-size:.85rem;line-height:1.6;}
  .evid-src{margin:16px 0 0;color:rgba(255,255,255,.40);font-size:.76rem;line-height:1.55;}
  @media (max-width:860px){ .evid-grid{grid-template-columns:1fr;} }
  .cpa-interp{margin:0 0 6px;color:#fff;font-size:clamp(1.35rem,2.3vw,1.95rem);font-weight:700;
    letter-spacing:-.015em;}
  .cpa-interp-sub{margin:0 0 22px;color:rgba(255,255,255,.62);font-size:.95rem;}
  .evid-found{margin-top:26px;padding:20px 22px;border-radius:14px;
    background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);}
  .evid-found-h{margin:0 0 14px;font-family:var(--g-font-mono,ui-monospace,monospace);font-size:11px;
    letter-spacing:.14em;text-transform:uppercase;color:#7FF5EE;}
  .evid-found-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
  .evid-found-g span{display:block;color:rgba(255,255,255,.60);font-size:.8rem;line-height:1.5;}
  .evid-found-g b{display:block;color:#fff;font-family:var(--g-font-display,system-ui);
    font-size:1.5rem;font-weight:700;line-height:1;margin-bottom:6px;}
  .evid-found-n{margin:14px 0 0;color:rgba(255,255,255,.40);font-size:.76rem;}
  @media (max-width:860px){ .evid-found-g{grid-template-columns:repeat(2,minmax(0,1fr));} }
  .score-illus{display:block;margin-top:6px;font-family:var(--g-font-mono,ui-monospace,monospace);
    font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);}
  /* 2. compact pre-footer directory - it should not read as a second homepage */
  .dirx{padding:38px 0 40px;}
  .dirx h2{font-size:clamp(1.05rem,1.5vw,1.25rem);}
  .dirx-sub{margin:0 0 18px;font-size:.78rem;}
  .dirx-grid{gap:14px 24px;}
  .dirx-col h3{font-size:.66rem;margin:0 0 7px;padding-bottom:6px;}
  .dirx-i{margin-bottom:6px;}
  .dirx-t{font-size:.75rem;font-weight:600;}
  .dirx-d{margin-top:1px;font-size:.66rem;line-height:1.4;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .db-lede2{margin:18px 0 22px;color:rgba(255,255,255,.55);font-size:.9rem;line-height:1.7;max-width:86ch;}
  /* G360-KIT-CHAL - structured picker with an instant answer, not a contact box */

  /* G360-KIT-STICKY - mobile only. One action, not a nav bar: a sticky nav
     offers many actions and measurably costs scroll depth, while a sticky CTA
     reinforces one. Hidden until past the hero and again once the final CTA
     is on screen, so the two never compete. */
  .sbar{display:none;}
  @media (max-width:820px){
    .sbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;
      background:rgba(7,12,20,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
      border-top:1px solid rgba(0,212,200,.22);
      padding-bottom:env(safe-area-inset-bottom,0);
      transform:translateY(105%);transition:transform .28s ease;
      pointer-events:none;}
    .sbar.on{transform:translateY(0);pointer-events:auto;}
    .sbar-in{display:flex;align-items:center;gap:12px;padding:10px 14px;max-width:640px;margin:0 auto;}
    .sbar-tx{flex:1 1 auto;min-width:0;}
    .sbar-tx b{display:block;color:#fff;font-size:.82rem;font-weight:650;line-height:1.25;}
    .sbar-tx small{display:block;color:rgba(255,255,255,.52);font-size:.68rem;margin-top:2px;}
    .sbar-cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;
      padding:11px 15px;border-radius:999px;background:#00D4C8;color:#04211F;
      font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap;}
    .sbar-cta i{font-size:15px;}
    body{padding-bottom:0;}
  }
  @media (prefers-reduced-motion:reduce){ .sbar{transition:none;} }
  .chal-grouph{margin:0 0 12px;color:rgba(255,255,255,.62);font-size:.82rem;font-weight:650;}
  .chal-grouph span{font-weight:400;color:rgba(255,255,255,.42);}
  .chal-t-other{border-style:dashed;border-color:rgba(0,212,200,.34);}
  .chal-t-other .chal-ic{background:rgba(0,212,200,.14);border-color:rgba(0,212,200,.32);}
  .chal-done{padding:26px 24px;border-radius:14px;background:rgba(0,212,200,.055);
    border:1px solid rgba(0,212,200,.26);}
  .chal-done[hidden]{display:none;}
  .chal-done-ic{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;
    background:rgba(0,212,200,.14);border:1px solid rgba(0,212,200,.3);color:#7FF5EE;
    font-size:20px;margin-bottom:14px;}
  .chal-done-h{margin:0 0 8px;color:#fff;font-size:1.15rem;font-weight:700;}
  .chal-done-b{margin:0 0 12px;color:rgba(255,255,255,.7);font-size:.9rem;line-height:1.65;max-width:70ch;}
  .chal-done-f{margin:0;color:#7FF5EE;font-size:.88rem;font-weight:650;}
  .chal-err{margin:12px 0 0;color:#F0A53A;font-size:.84rem;}
  .chal-more.sending{opacity:.55;pointer-events:none;}
  .chal-lbl{display:block;margin-bottom:8px;color:#fff;font-size:.92rem;font-weight:650;}
  .chal-lbl.sm{font-size:.84rem;margin-bottom:7px;}
  .chal-lbl span{display:block;margin-top:3px;color:rgba(255,255,255,.5);font-size:.8rem;
    font-weight:400;line-height:1.55;max-width:76ch;}
  /* G360-KIT-FIELDS */
  .chal-more textarea{width:100%;padding:13px 14px;border-radius:12px;resize:vertical;min-height:104px;
    background:rgba(0,212,200,.05);border:1px solid rgba(0,212,200,.28);color:#fff;
    font:400 .9rem/1.6 inherit;outline:none;transition:border-color .18s,background .18s;}
  .chal-more textarea:focus{border-color:#00D4C8;background:rgba(0,212,200,.09);}
  .chal-more textarea::placeholder,
  .chal-row input::placeholder{color:rgba(255,255,255,.42);}
  .chal-count{margin:6px 0 0;text-align:right;color:rgba(255,255,255,.34);font-size:.72rem;
    font-family:var(--g-font-mono,ui-monospace,monospace);}
  .chal-send{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);}
  .chal-row{display:flex;flex-wrap:wrap;gap:10px;}
  .chal-row input#chalName{flex:0 1 190px;}
  .chal-row input{flex:1 1 240px;min-width:0;padding:0 14px;height:48px;border-radius:999px;
    background:rgba(0,212,200,.05);border:1px solid rgba(0,212,200,.28);color:#fff;
    font:400 .92rem inherit;outline:none;transition:border-color .18s,background .18s;}
  .chal-row input:focus{border-color:#00D4C8;background:rgba(0,212,200,.09);}
  .chal-row .btn{flex:0 0 auto;}
  .chal-hp{position:absolute;left:-9999px;}
  /* G360-KIT-BGMOB - `cover` scales to fill height on a portrait viewport and
     crops the subject out sideways. Switch the artwork to `contain` on narrow
     screens. Opacity and position stay with each section's own rule below, so
     only one property is set here. */
  @media (max-width:820px){
    .chal::after, .zt-sec::after, .hero-dark::after, .getp::after,
    .pt-bg::before, .dirx::after, #security.dk::after { background-size:contain; }
    .fq::before{ background-size:cover,contain; }
  }
  /* G360-KIT-CHALBG - the copy sits left, the climber and the carved words
     sit right; a left-weighted scrim keeps the text at full contrast. */
  .chal{position:relative;isolation:isolate;overflow:hidden;background:#070C14;
    padding:64px 0 70px;border-top:1px solid rgba(255,255,255,.06);}
  .chal::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
    background:url("sec-bg-challenge.webp") right center / cover no-repeat;opacity:.72;}
  .chal::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(90deg,rgba(7,12,20,.97) 0%,rgba(7,12,20,.90) 38%,
      rgba(7,12,20,.55) 68%,rgba(7,12,20,.30) 100%);}
  .chal-in{position:relative;z-index:2;}
  @media (max-width:900px){
    .chal::after{opacity:.42;background-position:right top;}
    .getp::after{opacity:.30;background-position:right top;}
    .chal::before{background:linear-gradient(180deg,rgba(7,12,20,.90),rgba(7,12,20,.97));}
  }
  .chal-in{max-width:1240px;margin:0 auto;padding:0 26px;}
  .chal-eb{display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;
    font-family:var(--g-font-mono,ui-monospace,monospace);font-size:11px;letter-spacing:.16em;
    text-transform:uppercase;color:#7FF5EE;}
  .chal h2{margin:0 0 8px;color:#fff;font-size:clamp(1.5rem,2.6vw,2.15rem);font-weight:700;
    letter-spacing:-.015em;line-height:1.18;}
  .chal h2 em{font-style:normal;color:#7FF5EE;}/* G360-KIT-CHALHUE */
  .chal-sub{margin:0 0 26px;max-width:92ch;color:rgba(255,255,255,.62);font-size:.95rem;line-height:1.7;text-wrap:pretty;}
  .chal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;}
  .chal-t{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;
    padding:15px 15px;border-radius:13px;background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.09);color:#fff;font:600 .88rem/1.4 inherit;
    transition:border-color .18s,background .18s,transform .18s;}
  .chal-t:hover{border-color:rgba(0,212,200,.42);background:rgba(255,255,255,.055);transform:translateY(-2px);}
  .chal-t[aria-pressed="true"]{border-color:#00D4C8;background:rgba(0,212,200,.09);}
  .chal-ic{flex:0 0 auto;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
    background:rgba(0,212,200,.10);border:1px solid rgba(0,212,200,.22);color:#7FF5EE;font-size:17px;}
  .chal-l{flex:1 1 auto;min-width:0;}
  .chal-go{flex:0 0 auto;color:rgba(255,255,255,.28);font-size:16px;}
  .chal-t[aria-pressed="true"] .chal-go{color:#7FF5EE;}
  .chal-out{border-radius:15px;background:rgba(255,255,255,.028);
    border:1px solid rgba(255,255,255,.09);padding:22px 24px;}
  .chal-p[hidden]{display:none;}
  .chal-pill{display:inline-block;margin-bottom:12px;padding:3px 11px;border-radius:999px;
    font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
    background:rgba(0,212,200,.10);color:#7FF5EE;border:1px solid rgba(0,212,200,.28);}
  .chal-h{margin:0 0 5px;color:#7FF5EE;font-size:.72rem;font-weight:700;letter-spacing:.09em;
    text-transform:uppercase;}
  .chal-b{margin:0 0 15px;color:rgba(255,255,255,.72);font-size:.9rem;line-height:1.62;}
  .chal-cap{margin:0;color:rgba(255,255,255,.40);font-size:.76rem;}
  .chal-more{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);}
  
  
  
  
  
  .chal-fine{color:rgba(255,255,255,.44);font-size:.78rem;}
  .chal-lead{margin:0 0 16px;color:rgba(255,255,255,.55);font-size:.84rem;line-height:1.6;max-width:none;text-wrap:pretty;}
  @media (max-width:1000px){ .chal-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
  @media (max-width:640px){ .chal-grid{grid-template-columns:1fr;} .chal{padding:48px 0 54px;} }
  /* G360-KIT-ZTCARDS */
  .zt-sec{position:relative;isolation:isolate;overflow:hidden;}
  .zt-sec::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
    background:url("sec-bg-zt.webp") right center / cover no-repeat;opacity:.85;}
  .zt-sec .dk-in{position:relative;z-index:2;}
  .zt-sec::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(90deg,rgba(5,8,13,.94) 0%,rgba(5,8,13,.72) 46%,rgba(5,8,13,.30) 100%);}
  .zt-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 30px;}
  .zt-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
  .zt-card{display:flex;align-items:flex-start;gap:13px;padding:17px 16px;border-radius:14px;
    text-decoration:none;background:rgba(8,14,22,.72);border:1px solid rgba(255,255,255,.09);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
    transition:border-color .2s ease,background .2s ease,transform .2s ease;}
  .zt-card:hover{border-color:rgba(0,212,200,.38);background:rgba(8,14,22,.9);transform:translateY(-2px);}
  .zt-ic{flex:0 0 auto;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;
    background:rgba(0,212,200,.09);border:1px solid rgba(0,212,200,.20);color:#7FF5EE;font-size:19px;}
  .zt-tx{flex:1 1 auto;min-width:0;}
  .zt-h{display:block;color:#fff;font-weight:650;font-size:.95rem;margin-bottom:5px;}
  .zt-d{display:block;color:rgba(255,255,255,.60);font-size:.83rem;line-height:1.55;}
  .zt-go{flex:0 0 auto;align-self:center;color:rgba(255,255,255,.34);font-size:17px;}
  .zt-card:hover .zt-go{color:#7FF5EE;}
  .zt-stage{display:inline-block;margin-left:4px;padding:2px 9px;border-radius:999px;
    font-size:.66rem;font-weight:650;letter-spacing:.02em;vertical-align:1px;}
  .zt-trad{background:rgba(240,165,58,.12);color:#F0A53A;border:1px solid rgba(240,165,58,.30);}
  .zt-init{background:rgba(0,212,200,.10);color:#7FF5EE;border:1px solid rgba(0,212,200,.28);}
  .zt-verif{background:rgba(74,222,155,.12);color:#93EFC4;border:1px solid rgba(74,222,155,.30);}
  .zt-bench{display:flex;align-items:center;gap:14px;margin-top:16px;padding:15px 18px;
    border-radius:14px;background:rgba(0,212,200,.045);border:1px solid rgba(0,212,200,.16);}
  .zt-bench-ic{flex:0 0 auto;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;
    background:rgba(0,212,200,.10);color:#7FF5EE;font-size:16px;}
  .zt-bench-tx{flex:1 1 auto;min-width:0;color:rgba(255,255,255,.66);font-size:.86rem;line-height:1.6;}
  .zt-bench-tx b{color:#fff;}
  .zt-bench-go{flex:0 0 auto;color:#7FF5EE;font-size:.85rem;font-weight:600;text-decoration:none;white-space:nowrap;}
  @media (max-width:1040px){ .zt-cards{grid-template-columns:repeat(2,minmax(0,1fr));} }
  @media (max-width:700px){
    .zt-cards{grid-template-columns:1fr;}
    .zt-sec::after{opacity:.5;background-position:right top;}
    .zt-sec::before{background:linear-gradient(180deg,rgba(5,8,13,.86),rgba(5,8,13,.94));}
    .zt-bench{flex-direction:column;align-items:flex-start;gap:10px;}
  }
  #security.dk::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;/* G360-KIT-ZTBG */
    background:url("sec-bg-trust.webp") right top / contain no-repeat;opacity:.9;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.3) 38%,#000 72%);
            mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.3) 38%,#000 72%);}
  .dk::before{z-index:1;}
  .dk-in{z-index:2;}
  @media (max-width:820px){ .dk::after{opacity:.4;} }
  .dk-t span{display:block;color:rgba(255,255,255,.58);font-size:.85rem;line-height:1.55;}

  /* light product shots, framed on the dark ground */
  .dk .hero-shot-frame,.dk .shot{border:1px solid rgba(255,255,255,.12);border-radius:14px;
    overflow:hidden;box-shadow:0 40px 90px -40px rgba(0,0,0,.95);background:#fff;}
  .dk .hero-shot-cap,.dk figcaption{color:rgba(255,255,255,.48) !important;}
  .dk .hero-shot,.dk .shot-wrap{margin-bottom:34px;}

  /* ---------- scroll fade ---------- */
  .g-rv [data-rv]{opacity:0;transform:translateY(18px);will-change:opacity,transform;}
  .g-rv [data-rv].rv-in{opacity:1;transform:none;
    transition:opacity .68s cubic-bezier(.16,.84,.44,1),transform .68s cubic-bezier(.16,.84,.44,1);
    transition-delay:var(--rv-d,0ms);}

  @media (max-width:700px){ .dk{padding:40px 0 44px;} .dk-in{padding:0 18px;} }
  @media (prefers-reduced-motion:reduce){
    .g-rv [data-rv],.g-rv [data-rv].rv-in{opacity:1 !important;transform:none !important;
      transition:none !important;}
    .dk-t{transition:none;} .dk-t:hover{transform:none;}
  }

.hero-inner.hs{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    gap:46px;align-items:center;text-align:left;max-width:1300px;}
  .hs .hero-copy{min-width:0;}
  .hs .hero-badge{margin-left:0;}
  .hs h1,.hs .hero-offer,.hs .hero-verbs,.hs .hero-sub,.hs .hero-sched{margin-left:0;margin-right:0;}
  .hs .hero-cta,.hs .hero-trust{justify-content:flex-start;}
  .hs .hero-sub{max-width:80ch;}
  .hs .hero-trust{flex-wrap:wrap;}
  .hs-rule{display:block;width:92px;height:2px;margin:0 0 18px;
    background:linear-gradient(90deg,#00D4C8,rgba(0,212,200,0));}

  

  @media (max-width:980px){
    .hero-inner.hs{grid-template-columns:1fr;gap:28px;}
    .hs-vis{min-height:320px;order:2;}
  }
  @media (prefers-reduced-motion:reduce){ .hs-vis{min-height:280px;} }

/* ---------- FAQ, white-paper palette ---------- */
  .fq{position:relative;overflow:hidden;padding:84px 0 90px;
    background:linear-gradient(168deg,#071230 0%,#0A1A3A 46%,#081026 100%);}
  .fq::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.9;}
  .fq::after{content:'';position:absolute;top:-18%;right:-14%;width:66%;height:130%;
    pointer-events:none;
    background:
      radial-gradient(circle at 22% 18%,rgba(127,245,238,.55) 0 1.6px,transparent 1.7px),
      radial-gradient(circle at 68% 34%,rgba(127,245,238,.4) 0 1.3px,transparent 1.4px),
      radial-gradient(circle at 44% 62%,rgba(167,139,250,.42) 0 1.5px,transparent 1.6px),
      radial-gradient(circle at 80% 74%,rgba(127,245,238,.34) 0 1.2px,transparent 1.3px),
      radial-gradient(circle at 12% 84%,rgba(167,139,250,.3) 0 1.3px,transparent 1.4px);
    background-size:190px 190px,240px 240px,300px 300px,220px 220px,270px 270px;
    -webkit-mask-image:radial-gradient(72% 62% at 78% 22%,#000 4%,transparent 74%);
            mask-image:radial-gradient(72% 62% at 78% 22%,#000 4%,transparent 74%);}
  .fq-in{position:relative;max-width:1000px;margin:0 auto;padding:0 26px;}

  .fq-eb{display:block;text-align:center;font-family:var(--g-font-mono,ui-monospace,monospace);
    font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:#7FF5EE;margin-bottom:14px;}
  .fq h2{text-align:center;color:#fff;font-family:var(--g-font-display,system-ui);font-weight:700;
    font-size:clamp(1.8rem,3.8vw,2.9rem);line-height:1.08;letter-spacing:-.022em;margin:0 0 16px;}
  .fq-rule{width:150px;height:2px;margin:0 auto 44px;
    background:linear-gradient(90deg,#5BC4B5,#A78BFA);border-radius:2px;}

  .fq .faq{display:grid;gap:11px;}
  .fq details{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.10);
    border-radius:14px;overflow:hidden;
    transition:border-color .22s ease,background .22s ease;}
  .fq details[open]{background:rgba(127,245,238,.055);border-color:rgba(127,245,238,.30);}
  .fq details:hover{border-color:rgba(127,245,238,.24);}
  .fq summary{cursor:pointer;list-style:none;display:flex;align-items:flex-start;gap:16px;
    padding:19px 22px;color:#fff;font-weight:600;font-size:1rem;line-height:1.45;
    letter-spacing:-.008em;}
  .fq summary::-webkit-details-marker{display:none;}
  .fq summary i{margin-left:auto;flex:none;color:#7FF5EE;font-size:17px;margin-top:2px;
    transition:transform .26s cubic-bezier(.16,.84,.44,1);}
  .fq details[open] summary i{transform:rotate(45deg);}
  .fq .faq-a{padding:0 22px 21px;color:rgba(255,255,255,.66);font-size:.93rem;line-height:1.68;}
  .fq .faq-a strong{color:#fff;}
  .fq .faq-a a{color:#7FF5EE;}
  .fq-more{text-align:center;margin-top:34px;}
  .fq-more a{display:inline-flex;align-items:center;gap:8px;color:#7FF5EE;font-weight:650;
    font-size:.95rem;text-decoration:none;transition:gap .2s ease;}
  .fq-more a:hover{gap:12px;color:#BFFFFA;}

  @media (max-width:640px){
    .fq{padding:56px 0 60px;} .fq-in{padding:0 18px;}
    .fq summary{padding:16px 18px;font-size:.95rem;}
    .fq .faq-a{padding:0 18px 18px;}
  }
  @media (prefers-reduced-motion:reduce){
    .fq details,.fq summary i,.fq-more a{transition:none;}
    .fq details[open] summary i{transform:none;}
  }

.pt{position:relative;background:#05080D;overflow:hidden;padding:82px 0 88px;}
  .pt-in{position:relative;max-width:1240px;margin:0 auto;padding:0 26px;}

  /* G360-KIT-PTBG - restrained motion behind the product screenshots.
     No base photo: the screenshots are the hero, and .pt already carries the
     site diagonal. Only the glows, line drift and particles animate. */
  .pt{isolation:isolate;}
  .pt-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
    background:radial-gradient(circle at 50% 35%,rgba(8,23,36,.20),rgba(3,8,15,.9) 72%);}
  /* G360-KIT-PTIMG - base plate, recoloured to the site teal */
  .pt-bg::before{content:'';position:absolute;inset:-4%;
    background:url("pt-bg.webp") center center / cover no-repeat;
    opacity:.92;transform:scale(1.05);will-change:transform;
    animation:g360BgDrift 24s ease-in-out infinite alternate;}
  @keyframes g360BgDrift{
    0%{transform:scale(1.05) translate3d(0,0,0)}
    50%{transform:scale(1.075) translate3d(-.4%,-.25%,0)}
    100%{transform:scale(1.06) translate3d(.5%,.25%,0)}}
  .pt-in{z-index:2;}
  .pt::before{z-index:1;}

  .g360-glow{position:absolute;z-index:1;pointer-events:none;border-radius:50%;
    filter:blur(65px);mix-blend-mode:screen;will-change:transform,opacity;}
  .g360-glow-left{width:650px;height:260px;left:-260px;bottom:-85px;
    background:radial-gradient(ellipse,rgba(0,212,200,.20) 0%,rgba(0,188,215,.10) 35%,transparent 72%);
    animation:g360LeftGlow 8s ease-in-out infinite alternate;}
  .g360-glow-right{width:780px;height:300px;right:-280px;bottom:-80px;
    background:radial-gradient(ellipse,rgba(0,231,255,.18) 0%,rgba(0,174,205,.09) 38%,transparent 74%);
    animation:g360RightGlow 10s ease-in-out infinite alternate;}
  @keyframes g360LeftGlow{0%{transform:translate3d(-20px,14px,0) scale(.92);opacity:.48}
    100%{transform:translate3d(55px,-8px,0) scale(1.12);opacity:.82}}
  @keyframes g360RightGlow{0%{transform:translate3d(25px,10px,0) scale(.95);opacity:.42}
    100%{transform:translate3d(-65px,-12px,0) scale(1.14);opacity:.78}}

  .g360-grid-lines{position:absolute;z-index:2;width:48%;height:58%;right:-5%;top:-6%;opacity:.22;
    background-image:repeating-linear-gradient(128deg,transparent 0 14px,
      rgba(18,216,227,.18) 15px,transparent 16px);
    -webkit-mask-image:linear-gradient(to bottom left,#000,rgba(0,0,0,.4) 55%,transparent 82%);
            mask-image:linear-gradient(to bottom left,#000,rgba(0,0,0,.4) 55%,transparent 82%);
    animation:g360LineDrift 16s linear infinite;will-change:transform;}
  @keyframes g360LineDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-30px,22px,0)}}

  .g360-particles{position:absolute;z-index:3;inset:0;overflow:hidden;pointer-events:none;}
  .g360-particle{position:absolute;border-radius:50%;background:rgba(41,230,239,.9);
    box-shadow:0 0 5px rgba(41,230,239,.8),0 0 11px rgba(41,230,239,.35);opacity:0;
    animation:g360ParticleFloat var(--duration) linear infinite;animation-delay:var(--delay);}
  @keyframes g360ParticleFloat{
    0%{transform:translate3d(0,25px,0) scale(.5);opacity:0}
    10%{opacity:var(--opacity)} 75%{opacity:var(--opacity)}
    100%{transform:translate3d(var(--move-x),-135px,0) scale(1.15);opacity:0}}

  /* keeps the screenshots readable */
  .pt-bg::after{content:'';position:absolute;z-index:4;inset:0;pointer-events:none;
    background:
      radial-gradient(ellipse at 50% 42%,rgba(2,7,13,.05) 0%,rgba(2,7,13,.18) 45%,rgba(2,7,13,.50) 100%),
      linear-gradient(180deg,rgba(3,8,15,.05) 0%,rgba(3,8,15,.12) 65%,rgba(3,8,15,.45) 100%);}

  @media (max-width:900px){
    .g360-grid-lines{width:80%;opacity:.15;}
    .g360-glow-left,.g360-glow-right{opacity:.55;}
  }
  @media (prefers-reduced-motion:reduce){
    .pt-bg::before,.g360-glow,.g360-grid-lines,.g360-particle{animation:none !important;}
  }
  .pt-eb{display:block;font-family:var(--g-font-mono,ui-monospace,monospace);font-size:11px;
    letter-spacing:.17em;text-transform:uppercase;color:#7FF5EE;margin-bottom:14px;}
  .pt-eb::before{content:'';display:block;width:88px;height:2px;margin:0 0 14px;
    background:linear-gradient(90deg,#00D4C8,rgba(0,212,200,0));}
  .pt h2{color:#fff;font-family:var(--g-font-display,system-ui);font-weight:700;margin:0 0 12px;
    font-size:clamp(1.8rem,4vw,3rem);line-height:1.06;letter-spacing:-.022em;}
  .pt h2 em{font-style:normal;color:#00D4C8;}
  .pt-sub{color:rgba(255,255,255,.6);font-size:.95rem;line-height:1.6;margin:0 0 38px;max-width:90ch;}

  .pt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
  .pt-t{position:relative;overflow:hidden;border-radius:16px;min-height:296px;
    border:1px solid rgba(255,255,255,.09);background:#0A121C;display:flex;flex-direction:column;
    justify-content:flex-end;text-decoration:none;
    transition:transform .26s cubic-bezier(.16,.84,.44,1),border-color .26s ease;}
  .pt-t:hover{transform:translateY(-4px);border-color:rgba(0,212,200,.45);}
  .pt-t.w2{grid-column:span 2;}
  .pt-shot{position:absolute;top:0;left:0;right:0;height:74%;overflow:hidden;}
  .pt-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;
    filter:saturate(.9) contrast(1.02);}
  .pt-shot::after{content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(5,8,13,.10) 0%,rgba(5,8,13,.55) 58%,#0A121C 100%);}
  .pt-body{position:relative;padding:20px 22px 22px;}
  .pt-n{display:block;font-family:var(--g-font-display,system-ui);font-weight:700;color:#00D4C8;
    font-size:clamp(1.75rem,2.8vw,2.35rem);line-height:1;letter-spacing:-.02em;}
  .pt-l{display:block;color:#fff;font-size:.94rem;font-weight:600;margin-top:8px;line-height:1.35;}
  .pt-d{display:block;color:rgba(255,255,255,.52);font-size:.8rem;margin-top:5px;line-height:1.45;}
  .pt-tag{position:absolute;top:14px;left:16px;z-index:2;
    font-family:var(--g-font-mono,ui-monospace,monospace);font-size:9.5px;letter-spacing:.13em;
    text-transform:uppercase;color:rgba(127,245,238,.85);background:rgba(5,8,13,.72);
    border:1px solid rgba(127,245,238,.24);border-radius:6px;padding:4px 8px;}
  .pt-note{margin:26px 0 0;color:rgba(255,255,255,.42);font-size:.78rem;line-height:1.6;
    padding-left:13px;border-left:2px solid rgba(0,212,200,.28);max-width:none;}

  @media (max-width:1000px){
    .pt-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .pt-t.w2{grid-column:span 2;}
    .pt-t{min-height:260px;}
  }
  @media (max-width:620px){
    .pt{padding:54px 0 58px;}
    .pt-in{padding:0 18px;}
    .pt-grid{grid-template-columns:1fr;gap:13px;}
    .pt-t,.pt-t.w2{grid-column:span 1;min-height:242px;}
  }
  @media (prefers-reduced-motion:reduce){
    .pt-t{transition:none;} .pt-t:hover{transform:none;}
  }

.cf{position:relative;overflow:hidden;background:#05080D;padding:0;}
  .cf::before{content:'';position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(58% 60% at 18% 30%,rgba(0,212,200,.10),transparent 68%);}
  .cf-in{position:relative;max-width:1240px;margin:0 auto;padding:52px 26px 56px;
    display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:44px;align-items:center;}
  .cf-eb{display:block;font-family:var(--g-font-mono,ui-monospace,monospace);font-size:11px;
    letter-spacing:.17em;text-transform:uppercase;color:#7FF5EE;margin-bottom:15px;}
  .cf-eb::before{content:'';display:block;width:88px;height:2px;margin:0 0 14px;
    background:linear-gradient(90deg,#00D4C8,rgba(0,212,200,0));}
  .cf h2{color:#fff;font-family:var(--g-font-display,system-ui);font-weight:700;margin:0 0 12px;/* G360-KIT-TIGHT */
    font-size:clamp(1.6rem,3.1vw,2.35rem);line-height:1.1;letter-spacing:-.022em;max-width:15ch;}
  .cf h2 em{font-style:normal;color:#00D4C8;display:block;}
  .cf p.cf-p{color:rgba(255,255,255,.68);font-size:clamp(.97rem,1.3vw,1.08rem);line-height:1.65;
    max-width:74ch;margin:0 0 26px;}
  .cf-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;}
  .cf-btn{display:inline-flex;align-items:center;gap:9px;height:50px;padding:0 26px;
    border-radius:11px;font-weight:700;font-size:.99rem;text-decoration:none;
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;}
  .cf-btn.p{background:#00D4C8;color:#04231F;border:1px solid #00D4C8;}
  .cf-btn.p:hover{background:#7FF5EE;border-color:#7FF5EE;transform:translateY(-1px);
    box-shadow:0 14px 32px -14px rgba(0,212,200,.75);color:#04231F;}
  .cf-btn.s{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28);}
  .cf-btn.s:hover{border-color:#00D4C8;background:rgba(0,212,200,.09);color:#7FF5EE;
    transform:translateY(-1px);}
  .cf-sched{margin:0 0 18px;}
  .cf-sched a{color:rgba(255,255,255,.6);font-size:.9rem;text-decoration:underline;
    text-underline-offset:3px;}
  .cf-sched a:hover{color:#7FF5EE;}
  .cf-fine{margin:0;color:rgba(255,255,255,.45);font-size:.83rem;line-height:1.6;}

  .cf-vis{position:relative;min-height:470px;}
  .cf-vis canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
  /* G360-KIT-ESTATESCAN */
  .ai-estate-scan{position:absolute;inset:0;overflow:hidden;isolation:isolate;
    background:
      radial-gradient(circle at 58% 48%,rgba(0,212,200,.055),transparent 27%),
      radial-gradient(circle at 76% 34%,rgba(0,150,145,.035),transparent 24%),
      transparent;}
  .ai-estate-scan::before{content:'';position:absolute;inset:0;z-index:0;
    background-image:
      linear-gradient(rgba(140,190,190,.045) 1px,transparent 1px),
      linear-gradient(90deg,rgba(140,190,190,.045) 1px,transparent 1px);
    background-size:54px 54px;opacity:.48;
    -webkit-mask-image:radial-gradient(circle at 58% 48%,#000 18%,rgba(0,0,0,.75) 54%,transparent 88%);
            mask-image:radial-gradient(circle at 58% 48%,#000 18%,rgba(0,0,0,.75) 54%,transparent 88%);}
  .ai-estate-scan::after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;
    background:
      linear-gradient(90deg,rgba(5,8,13,.55),transparent 19%,transparent 86%,rgba(5,8,13,.22)),
      linear-gradient(180deg,rgba(5,8,13,.24),transparent 15%,transparent 83%,rgba(5,8,13,.26));}
  #estateCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;}
  .scan-sweep{position:absolute;left:8%;top:8%;bottom:8%;width:2px;z-index:3;opacity:0;
    background:linear-gradient(180deg,transparent,rgba(127,245,238,.6),transparent);
    box-shadow:0 0 16px rgba(127,245,238,.20),24px 0 46px rgba(127,245,238,.04);
    animation:estScanSweep 8s cubic-bezier(.46,.03,.52,.96) infinite;}
  .scan-sweep::after{content:'';position:absolute;top:0;bottom:0;left:-120px;width:240px;
    background:linear-gradient(90deg,transparent,rgba(127,245,238,.022),rgba(127,245,238,.06),transparent);}
  .status-pill{position:absolute;right:7%;bottom:8%;z-index:4;display:flex;align-items:center;
    gap:9px;padding:9px 12px;border-radius:999px;border:1px solid rgba(0,212,200,.16);
    background:rgba(5,8,13,.55);color:rgba(213,244,240,.72);
    font:600 11px/1 var(--g-font,Inter,system-ui,sans-serif);
    letter-spacing:.10em;text-transform:uppercase;
    -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
  .status-dot{width:7px;height:7px;border-radius:50%;background:#7FF5EE;
    box-shadow:0 0 12px rgba(127,245,238,.5);animation:estStatusPulse 2.6s ease-in-out infinite;}
  @keyframes estScanSweep{0%{transform:translateX(0);opacity:0}9%{opacity:.55}
    58%{opacity:.55}70%{transform:translateX(88%);opacity:0}100%{transform:translateX(88%);opacity:0}}
  @keyframes estStatusPulse{0%,100%{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}
  @media (prefers-reduced-motion:reduce){ .scan-sweep,.status-dot{animation:none;} }

  @media (max-width:980px){
    .cf-in{grid-template-columns:1fr;gap:26px;padding:40px 22px 44px;}/* G360-KIT-TIGHT2 */
    .cf-vis{min-height:320px;order:2;}
  }
  @media (max-width:620px){
    .cf-vis{display:none;}
    .cf-in{gap:0;padding:36px 18px 40px;}
  }
  @media (prefers-reduced-motion:reduce){
    .cf-btn{transition:none;} .cf-btn:hover{transform:none;}
  }

/* ---------- one ground for every dark section ----------
     .hero-dark shipped a blue gradient (#070D17 -> #15233E) and the FAQ a
     navy (#0A1A3A). Both sat next to sections on #05080D and read as a
     different design. These override to the shared ground; the glow and grid
     layers stay, so the hero keeps its depth without the blue cast. */
  .hero.hero-dark{
    background:linear-gradient(180deg,#05080D 0%,#070C14 62%,#080E18 100%) !important;
    position:relative;isolation:isolate;overflow:hidden;}
  /* G360-KIT-HEROBG - banner plate behind the hero, content stays above */
  .hero-dark::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
    background:url("hero-bg.webp") center right / cover no-repeat;opacity:.62;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 66%,transparent 100%);
            mask-image:linear-gradient(180deg,#000 0%,#000 66%,transparent 100%);}
  .hero-dark::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(90deg,rgba(5,8,13,.92) 0%,rgba(5,8,13,.66) 44%,rgba(5,8,13,.22) 100%);}
  .hero-dark>*{position:relative;z-index:2;}
  @media (max-width:820px){
    .hero-dark::after{opacity:.42;background-position:right top;}
    .hero-dark::before{background:linear-gradient(180deg,rgba(5,8,13,.82),rgba(5,8,13,.95));}
  }
  .hero-glow{
    background:
      radial-gradient(ellipse 900px 500px at 50% 8%,rgba(0,212,200,.13),transparent 66%),
      radial-gradient(ellipse 620px 420px at 82% 4%,rgba(127,245,238,.07),transparent 72%) !important;}
  .fq{background:linear-gradient(170deg,#05080D 0%,#070C14 52%,#05080D 100%) !important;}
  /* the teal-to-violet rule stays - it is the white paper cue, not the blue */

.hs-vis{position:relative;min-height:520px;}
  .hs-vis canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}

  .hs-core{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);z-index:2;
    display:flex;flex-direction:column;align-items:center;gap:9px;pointer-events:none;}
  .hs-core-ring{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;
    border:1px solid rgba(0,212,200,.42);
    background:radial-gradient(circle at 42% 36%,rgba(0,212,200,.20),rgba(5,8,13,.85) 70%);
    box-shadow:0 0 60px -8px rgba(0,212,200,.45),inset 0 0 30px rgba(0,212,200,.14);}
  .hs-core-ring i{font-size:38px;color:#7FF5EE;}
  .hs-core b{font-family:var(--g-font-display,system-ui);font-size:.9rem;letter-spacing:.13em;
    color:#fff;font-weight:700;text-transform:uppercase;}
  .hs-core b em{font-style:normal;color:#00D4C8;}

  .hs-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;
    padding:9px 13px 9px 9px;border-radius:12px;
    background:rgba(8,14,22,.82);border:1px solid rgba(0,212,200,.24);
    -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
    box-shadow:0 10px 26px -14px rgba(0,0,0,.9);
    transition:border-color .24s ease,transform .24s cubic-bezier(.16,.84,.44,1);}
  .hs-chip:hover{border-color:rgba(0,212,200,.55);transform:translateY(-2px);}
  .hs-chip .ic{flex:none;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;
    background:rgba(0,212,200,.13);border:1px solid rgba(0,212,200,.26);color:#7FF5EE;font-size:16px;}
  .hs-chip .tx{display:block;line-height:1.25;}
  .hs-chip .tx b{display:block;color:rgba(255,255,255,.82);font-size:.75rem;font-weight:600;
    letter-spacing:.01em;white-space:nowrap;}
  .hs-chip .tx span{display:block;color:#fff;font-family:var(--g-font-display,system-ui);
    font-weight:700;font-size:1.02rem;letter-spacing:-.01em;}

  /* positions - kept off the core and off each other */
  .hs-c1{left:2%;top:12%;}
  .hs-c2{right:1%;top:6%;}
  .hs-c3{left:-2%;top:47%;}
  .hs-c4{right:-3%;top:44%;}
  .hs-c5{left:6%;bottom:14%;}
  .hs-c6{right:4%;bottom:9%;}

  .hs-cap{position:absolute;left:0;right:0;bottom:-6px;text-align:center;z-index:3;
    pointer-events:none;font-family:var(--g-font-mono,ui-monospace,monospace);font-size:12px;
    letter-spacing:.15em;text-transform:uppercase;color:rgba(127,245,238,.5);}

  @media (max-width:1180px){
    .hs-chip{padding:7px 10px 7px 7px;gap:8px;}
    .hs-chip .ic{width:27px;height:27px;font-size:14px;}
    .hs-chip .tx span{font-size:.9rem;}
    .hs-chip .tx b{font-size:.68rem;}
  }
  @media (max-width:980px){
    .hs-vis{min-height:400px;}
    .hs-core-ring{width:96px;height:96px;} .hs-core-ring i{font-size:31px;}
  }
  @media (prefers-reduced-motion:reduce){
    .hs-chip{transition:none;} .hs-chip:hover{transform:none;}
  }



/* ---------- the headline names a problem; colour it like one ---------- */
  .hero-dark h1 .hl{color:#F0A53A !important;}

  /* ---------- mobile: keep the figures, drop only the canvas ----------
     The chips carry real measurements. Hiding their container on a phone
     removed the numbers from the page. */
  @media (max-width:620px){
    .hs-vis{display:block !important;position:relative;min-height:0;margin-top:26px;}
    .hs-vis canvas,
    .hs-core{display:none !important;}
    .hs-chip{position:static !important;left:auto !important;right:auto !important;
      top:auto !important;bottom:auto !important;transform:none !important;}
    .hero-inner.hs .hs-vis{
      display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
    .hs-cap{position:static;grid-column:1 / -1;text-align:left;margin-top:6px;}
    .hs-chip{padding:10px 12px;}
    .hs-chip .ic{width:28px;height:28px;font-size:14px;}
    .hs-chip .tx b{font-size:.7rem;white-space:normal;}
    .hs-chip .tx span{font-size:1rem;}
  }

  /* ---------- general mobile pass ---------- */
  @media (max-width:620px){
    .xs-band{padding:46px 0 50px;}
    .xs-in{padding:0 18px;}
    .xs-rings{grid-template-columns:1fr 1fr;gap:18px;}
    .xs-r svg,.xs-r.sm svg{max-width:130px;}
    .xs-note h3{max-width:none;}
    .pt-grid{gap:12px;}
    .db-figs{gap:20px;}
    .db-fig b{font-size:1.75rem;}
    .cf-in{padding:34px 18px 38px;}
    .fq summary{font-size:.92rem;}
    table.g-tbl{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  }
  @media (max-width:380px){
    .hero-inner.hs .hs-vis{grid-template-columns:1fr;}
  }

.cpa{position:relative;overflow:hidden;padding:78px 0 82px;
    background:radial-gradient(120% 90% at 50% 0%,#080D15 0%,#05080D 68%);}
  .cpa-in{position:relative;max-width:1440px;margin:0 auto;padding:0 26px;text-align:center;}
  .cpa-eb{display:block;font-family:var(--g-font-mono,ui-monospace,monospace);font-size:11px;
    letter-spacing:.17em;text-transform:uppercase;color:#7FF5EE;margin-bottom:16px;}
  .cpa-eb::before{content:'';display:block;width:88px;height:2px;margin:0 auto 15px;
    background:linear-gradient(90deg,rgba(0,212,200,0),#00D4C8,rgba(0,212,200,0));}
  .cpa h2{color:#fff;font-family:var(--g-font-display,system-ui);font-weight:700;margin:0 0 12px;
    font-size:clamp(1.85rem,4vw,3rem);line-height:1.07;letter-spacing:-.022em;}
  .cpa h2 em{font-style:normal;color:#00D4C8;}
  .cpa-sub{color:#00D4C8;font-size:clamp(1rem,1.7vw,1.22rem);font-weight:600;margin:0 0 12px;}
  .cpa-sub2{color:rgba(255,255,255,.6);font-size:clamp(.93rem,1.4vw,1.05rem);line-height:1.6;
    max-width:94ch;margin:0 auto 38px;}
  .cpa-fig{margin:0;}
  .cpa-fig figcaption{margin-top:20px;font-family:var(--g-font-display,system-ui);font-weight:600;
    color:rgba(255,255,255,.66);font-size:clamp(.95rem,1.7vw,1.16rem);}
  .cpa-fig figcaption span{color:rgba(255,255,255,.38);font-weight:400;font-size:.82em;}
  @media (max-width:700px){ .cpa{padding:52px 0 56px;} .cpa-in{padding:0 16px;} }

.cp-live{--cyan:#00D4C8;--blue:#55a9ff;--violet:#c087ff;--orange:#ff8c55;--green:#addf72;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(113,175,222,.24);border-radius:20px;background:radial-gradient(circle at 52% 33%,rgba(36,195,195,.10),transparent 25%),linear-gradient(180deg,#050d18 0%,#061421 63%,#030914 100%);box-shadow:0 28px 90px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.035)}
.cp-live:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(107,148,184,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(107,148,184,.065) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(#000 0%,rgba(0,0,0,.65) 65%,transparent 100%);pointer-events:none}.topline{position:absolute;z-index:9;top:1.2%;left:2.4%;right:2.4%;display:flex;justify-content:space-between;align-items:center;font-size:clamp(9px,.78vw,14px);color:#b8c6d5}.topline strong{color:#f2f8fd}.topline em{font-style:normal;color:var(--cyan)}
.sources{position:absolute;z-index:6;left:2%;top:5.2%;width:26%;height:68%;border:1px solid rgba(86,145,191,.35);border-radius:12px;background:rgba(4,11,20,.77);box-shadow:inset 0 0 36px rgba(42,114,158,.08)}.source-head{height:5.2%;display:flex;align-items:center;justify-content:space-between;padding:0 3.8%;border-bottom:1px solid rgba(255,255,255,.07);color:#8093aa;font-size:clamp(9px,.54vw,10px);letter-spacing:.12em;text-transform:uppercase}.source-list{height:84.1%;padding:.8% 1.4%}.source{height:7.14%;display:grid;grid-template-columns:9% 40% 20% 31%;align-items:center;gap:1%;padding:0 1.7%;border-bottom:1px solid rgba(255,255,255,.045);font-size:clamp(9px,.66vw,12px);position:relative}.source.risk{background:linear-gradient(90deg,transparent,rgba(255,113,75,.06))}.brand-badge{width:24px;aspect-ratio:1;border-radius:7px;display:grid;place-items:center;font-size:8px;font-weight:900;background:#102236;color:#d7edff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.source b{font-weight:650;color:#e8f0f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source strong{justify-self:end;padding:3px 6px;border-radius:4px;background:#153149;color:#9ed2ff;font-size:.94em}.source[data-tone=green] strong{background:#14372d;color:#9febbd}.source[data-tone=orange] strong{background:#3a2514;color:#ffc07e}.source[data-tone=violet] strong{background:#2c2040;color:#d0b5ff}.source[data-tone=red] strong{background:#451d18;color:#ff9d87}.spark{height:13px;opacity:.72;background:linear-gradient(90deg,transparent,rgba(99,238,224,.35),transparent);clip-path:polygon(0 65%,7% 38%,14% 64%,23% 18%,31% 70%,40% 35%,48% 55%,57% 20%,66% 63%,73% 42%,82% 75%,90% 25%,100% 59%,100% 100%,0 100%);animation:spark 2.5s ease-in-out infinite alternate}.risk .spark{background:linear-gradient(90deg,transparent,rgba(255,125,82,.5),transparent)}.alert{color:#ff9a63;margin-right:3px;animation:alert 1.5s ease-in-out infinite}.source-totals{height:10.7%;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.08)}.source-totals>div{display:flex;flex-direction:column;justify-content:center;padding:3% 6%}.source-totals>div+div{border-left:1px solid rgba(255,255,255,.08)}.source-totals span{font-size:clamp(9px,.48vw,9px);color:#91a5b9;text-transform:uppercase;letter-spacing:.09em}.source-totals b{font-size:clamp(14px,1.55vw,28px);color:var(--cyan)}.source-totals .money{color:var(--orange)}
.hub{position:absolute;z-index:7;left:42.1%;top:18.6%;width:20.2%;aspect-ratio:1;display:grid;place-items:center}.ring{position:absolute;border-radius:50%;border:1px solid rgba(98,240,224,.18);animation:spin 14s linear infinite}.r1{inset:0}.r2{inset:8%;border-style:dashed;animation-duration:22s;animation-direction:reverse}.r3{inset:16%;border-color:rgba(80,166,255,.22);animation-duration:10s}.ring:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;left:-4px;top:50%;background:var(--cyan);box-shadow:0 0 16px var(--cyan)}.hub-core{position:relative;width:58%;aspect-ratio:1;border:1px solid rgba(98,240,224,.58);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(27,124,130,.30),rgba(4,11,20,.98) 65%);box-shadow:0 0 62px rgba(73,232,218,.22),inset 0 0 35px rgba(36,172,174,.14)}.logo-svg{width:34%;filter:drop-shadow(0 0 12px rgba(99,238,224,.4))}.hub-core strong{font-size:clamp(13px,1.6vw,29px);line-height:1;margin-top:4%;color:#fff}.hub-core strong span{color:var(--cyan)}.hub-core small{text-align:center;text-transform:uppercase;color:#74e7db;font-size:clamp(9px,.54vw,10px);line-height:1.35;margin-top:4%;letter-spacing:.06em}.badges{position:absolute;top:87%;left:-13%;right:-13%;display:grid;grid-template-columns:1.05fr 1fr .85fr;background:rgba(5,12,22,.9);border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden}.badges span{padding:7% 4%;border-right:1px solid rgba(255,255,255,.08);text-align:center;color:#b7c5d4;font-size:clamp(9px,.5vw,9px)}.badges span:last-child{border-right:0}.badges small{display:block;color:#7e91a7;font-size:.8em}
.flows{position:absolute;z-index:4;inset:0;width:100%;height:100%;pointer-events:none}.flow-lines path{fill:none;stroke:url(#cyanGrad);stroke-width:2;opacity:.72;filter:url(#glow)}.flow-lines path.hot{stroke:url(#orangeGrad);stroke-width:2.5}.flow-lines path.out{stroke:#7FF5EE;stroke-dasharray:5 7;animation:dash 4s linear infinite}.particle{filter:url(#glow)}
.sprawls{position:absolute;z-index:7;left:65.3%;top:4.8%;width:32.7%;height:23.6%;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5%}.sprawls article{text-align:center;padding-top:3%}.sprawls article>span{font-weight:850;font-size:clamp(9px,.55vw,10px);letter-spacing:.04em}.sprawls small{display:block;color:#bac6d4;font-size:clamp(9px,.48vw,9px);line-height:1.34;min-height:2.8em;margin-top:4%}.sprawls b{display:block;font-size:clamp(15px,1.55vw,27px);margin:4% 0 1%}.sprawls p{margin:0;color:#b7c4d3;font-size:clamp(9px,.48vw,9px);line-height:1.25}.c-cyan{color:#5cc2ff}.c-violet{color:#c898ff}.c-orange{color:#ff8c54}.c-green{color:#afe16f}.sprawls article:nth-child(1) b{color:#63ccff}.sprawls article:nth-child(2) b{color:#ca91ff}.sprawls article:nth-child(3) b{color:#ff8c54}.sprawls article:nth-child(4) b{color:#b5e671}.runaway{position:absolute;left:34%;right:14%;bottom:-12%;padding:2.1% 3%;border:1px solid rgba(255,116,76,.28);border-radius:7px;background:rgba(49,15,10,.58);color:#ff7e51;text-align:center}.runaway b,.runaway span{display:block;font-size:clamp(9px,.5vw,9px)}
.pipeline{position:absolute;z-index:7;left:63%;top:34.5%;width:34.5%;height:23.4%;display:grid;grid-template-columns:repeat(5,1fr);gap:1.7%}.pipeline:before{content:"";position:absolute;left:7%;right:7%;top:28%;height:1px;background:linear-gradient(90deg,var(--blue),var(--violet),var(--green),var(--orange),var(--cyan));opacity:.55}.step{text-align:center;position:relative}.step i{position:relative;z-index:2;width:46%;aspect-ratio:1;margin:0 auto 6%;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:clamp(12px,1.2vw,22px);background:#081625;border:1px solid currentColor;box-shadow:0 0 18px rgba(0,0,0,.3);animation:stepPulse 5s ease-in-out infinite}.step:nth-child(2) i{animation-delay:1s}.step:nth-child(3) i{animation-delay:2s}.step:nth-child(4) i{animation-delay:3s}.step:nth-child(5) i{animation-delay:4s}.blue{color:#63b6ff}.violet{color:#c38aff}.green{color:#b2e36f}.orange{color:#ff9857}.cyan{color:#7FF5EE}.step b{display:block;font-size:clamp(9px,.68vw,12px);margin-bottom:3%}.step span{display:block;color:#b1becd;font-size:clamp(9px,.43vw,8px);line-height:1.25}
.enforcement{position:absolute;z-index:7;left:48.6%;right:2.1%;top:59.3%;height:13.2%;border:1px solid rgba(95,152,194,.28);border-radius:9px;background:rgba(4,12,21,.76)}.enforce-title{text-align:center;color:#63dfd6;font-weight:800;font-size:clamp(9px,.55vw,10px);letter-spacing:.05em;transform:translateY(-56%)}.enforce-title span{color:#9bafc1;font-weight:500;letter-spacing:0}.tools{height:100%;display:grid;grid-template-columns:repeat(9,1fr);align-items:center}.tools span{text-align:center;color:#aab8c8;font-size:clamp(9px,.43vw,8px);line-height:1.2;border-right:1px solid rgba(255,255,255,.06);padding:0 3%}.tools span:last-child{border-right:0}.tools i{display:grid;place-items:center;margin:0 auto 6%;width:44%;aspect-ratio:1;border-radius:50%;background:#102034;color:#d9efff;font-style:normal;font-weight:800;font-size:clamp(9px,.43vw,8px);box-shadow:0 0 16px rgba(66,171,220,.1)}
.scoreboard{position:absolute;z-index:8;left:2%;right:2%;bottom:2%;height:23.5%;display:grid;grid-template-columns:25% 19% 29% 27%;border:1px solid rgba(88,143,184,.29);border-radius:10px;overflow:hidden;background:linear-gradient(180deg,rgba(5,15,28,.97),rgba(4,11,20,.97))}.scoreboard>div{padding:5% 7%;border-right:1px solid rgba(255,255,255,.08)}.scoreboard>div:last-child{border-right:0}.score-intro strong{font-size:clamp(11px,1.35vw,25px);line-height:1.08}.score-intro em{font-style:normal;color:var(--cyan)}.score-intro p{color:#9eafc0;max-width:90%;font-size:clamp(9px,.5vw,9px);line-height:1.45}.score{text-align:center}.score>span{display:block;color:#63d9d0;font-size:clamp(9px,.48vw,9px);font-weight:700}.score>b{display:block;color:#1fd2dd;font-size:clamp(36px,5.6vw,104px);line-height:.9;margin:5% 0}.score>small{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid rgba(67,227,210,.35);color:#60d8ce;font-size:clamp(9px,.48vw,9px)}.dims{display:flex;flex-direction:column;justify-content:center;gap:8%}.dims>div{display:grid;grid-template-columns:31% 1fr 10%;gap:4%;align-items:center;color:#b5c2cf;font-size:clamp(9px,.5vw,9px)}.dims i{height:7px;border-radius:999px;background:#162737;overflow:hidden}.dims em{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#45b6bd,#5fe4d9);transition:width 1.45s cubic-bezier(.22,1,.36,1)}.cp-live.live .dims em{width:var(--w)}.dims b{color:#d9e8f4}.estate{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:8% 4%}.estate div{display:flex;flex-direction:column}.estate b{font-size:clamp(10px,1.05vw,19px);color:#46d4d1}.estate span{font-size:clamp(9px,.45vw,8px);color:#a8b7c7}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes dash{to{stroke-dashoffset:-120}}@keyframes alert{50%{transform:scale(1.17);filter:drop-shadow(0 0 8px #ff8b52)}}@keyframes spark{to{transform:translateX(6px);filter:brightness(1.42)}}@keyframes stepPulse{0%,75%,100%{box-shadow:0 0 18px rgba(0,0,0,.28)}85%{box-shadow:0 0 32px currentColor;transform:scale(1.05)}}
@media(max-width:820px){body{padding:10px}.flows{opacity:.75}.pipeline{left:4%;top:76%;width:92%;height:10%}.source{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.dims em{width:var(--w)!important}}

/* ---------- the diagram's palette should carry the reading ----------
     Neutral for a count, amber for capability that carries risk, red for the
     one claim on the diagram that says something is actually wrong. */
  .cp-live .sprawls article:nth-child(1) b{color:#7FF5EE !important;}  /* AI systems - a count */
  .cp-live .sprawls article:nth-child(2) b{color:#F0A53A !important;}  /* acting autonomously */
  .cp-live .sprawls article:nth-child(3) b{color:#F0A53A !important;}  /* unattributed spend */
  .cp-live .sprawls article:nth-child(4) b{color:#F0A53A !important;}  /* NHIs without credentials */

  .cp-live .sprawls article:nth-child(1) span{color:#7FF5EE;}
  .cp-live .sprawls article:nth-child(2) span,
  .cp-live .sprawls article:nth-child(3) span,
  .cp-live .sprawls article:nth-child(4) span{color:#F0C07A;}

  /* the runaway alert is the only assertion of a fault - it stays red */
  .cp-live .runaway{border-color:rgba(242,112,123,.42) !important;
    background:rgba(70,18,22,.55) !important;color:#F2707B !important;}
  .cp-live .runaway b{color:#FF8A93 !important;}

  /* 69 is Moderate exposure - not a win, so not the colour of a win */
  .cp-live .score > b{color:#F0A53A !important;}
  .cp-live .score > small{color:#F0C07A !important;border-color:rgba(240,165,58,.4) !important;}

  /* the two flagged source rows read as risk, matching the alert */
  .cp-live .source.risk strong{background:#3a1c18 !important;color:#FF9D87 !important;}

/* ---------- the diagram is navigable ---------- */
  .cp-live a{color:inherit;text-decoration:none;}

  .cp-live .sprawls article{position:relative;border:1px solid transparent;border-radius:10px;
    transition:border-color .24s ease,background .24s ease,transform .24s cubic-bezier(.16,.84,.44,1);}
  .cp-live .sprawls article > a{display:block;padding:3% 4% 6%;}
  .cp-live .sprawls article::after{content:'\2192';position:absolute;top:6px;right:9px;
    font-size:11px;opacity:0;transform:translateX(-4px);
    transition:opacity .22s ease,transform .22s ease;color:#7FF5EE;}
  @media (hover:hover){
    .cp-live .sprawls article:hover{border-color:rgba(0,212,200,.34);
      background:rgba(0,212,200,.055);transform:translateY(-2px);}
    .cp-live .sprawls article:hover::after{opacity:1;transform:translateX(0);}
  }

  .cp-live .step{border-radius:9px;
    transition:background .24s ease,transform .24s cubic-bezier(.16,.84,.44,1);}
  .cp-live .step > a{display:block;padding:2% 4% 5%;}
  @media (hover:hover){
    .cp-live .step:hover{background:rgba(255,255,255,.045);transform:translateY(-2px);}
    .cp-live .step:hover i{box-shadow:0 0 26px currentColor;}
  }

  .cp-live .score > a{display:block;border-radius:10px;padding:4% 2%;
    transition:background .24s ease;}
  @media (hover:hover){ .cp-live .score > a:hover{background:rgba(240,165,58,.07);} }

  .cp-live a:focus-visible{outline:2px solid #7FF5EE;outline-offset:3px;border-radius:8px;}
  @media (prefers-reduced-motion:reduce){
    .cp-live .sprawls article,.cp-live .step,.cp-live .score > a{transition:none;}
    .cp-live .sprawls article:hover,.cp-live .step:hover{transform:none;}
  }

/* ---------- scoreboard: repair + darken ---------- */
  .cp-live .score-intro strong{color:#fff;}
  .cp-live .score-intro em{color:#00D4C8;}

  /* the <a> wrapper broke the direct-child selectors - reach through it */
  .cp-live .score > a{display:block;text-align:center;}
  .cp-live .score a > span{display:block;color:#7FF5EE;
    font-size:clamp(9px,.48vw,9px);font-weight:700;letter-spacing:.04em;}
  .cp-live .score a > b{display:block;color:#F0A53A;
    font-size:clamp(36px,5.6vw,104px);line-height:.9;margin:5% 0;}
  .cp-live .score a > small{display:inline-block;padding:4px 11px;border-radius:999px;
    border:1px solid rgba(240,165,58,.4);color:#F0C07A;font-size:clamp(9px,.48vw,9px);}

  /* the panel was blue-grey against a near-black page */
  .cp-live .scoreboard{
    background:linear-gradient(180deg,rgba(8,13,21,.97),rgba(5,8,13,.97)) !important;
    border-color:rgba(255,255,255,.10) !important;}
  .cp-live .scoreboard > div{border-right-color:rgba(255,255,255,.07) !important;}
  .cp-live .score-intro p{color:rgba(255,255,255,.58);}
  .cp-live .estate b{color:#7FF5EE;}
  .cp-live .estate span{color:rgba(255,255,255,.52);}
  .cp-live .dims > div{color:rgba(255,255,255,.66);}
  .cp-live .dims b{color:#fff;}
  .cp-live .dims i{background:rgba(255,255,255,.08);}
  .cp-live .dims em{background:linear-gradient(90deg,rgba(0,212,200,.5),#00D4C8 60%,#7FF5EE);}

  /* the source panel and totals sit on the same ground */
  .cp-live .sources{background:rgba(6,10,16,.82) !important;
    border-color:rgba(255,255,255,.10) !important;}
  .cp-live .source-totals b{color:#7FF5EE;}
  .cp-live .source-totals .money{color:#F0A53A;}

/* ---------- coverage states ---------- */
  .cp-live .source{position:relative;transition:opacity .3s ease;}

  .cp-live .source[data-state="awaiting"]{opacity:.52;}
  .cp-live .source[data-state="awaiting"] strong{background:rgba(255,255,255,.06) !important;
    color:rgba(255,255,255,.45) !important;font-weight:500;}
  .cp-live .source[data-state="awaiting"] .spark{opacity:.16;filter:grayscale(1);}
  .cp-live .source[data-state="awaiting"] .brand-badge{opacity:.55;}

  .cp-live .source[data-state="not-measured"]{opacity:.4;}
  .cp-live .source[data-state="not-measured"] b{color:rgba(255,255,255,.55) !important;}
  .cp-live .source[data-state="not-measured"] strong{background:transparent !important;
    border:1px dashed rgba(255,255,255,.22);color:rgba(255,255,255,.4) !important;font-weight:500;}
  .cp-live .source[data-state="not-measured"] .spark{opacity:0;}
  .cp-live .source[data-state="not-measured"] .brand-badge{opacity:.4;
    background:transparent !important;border:1px dashed rgba(255,255,255,.2);}

  /* a small dot on the left edge carries the state at a glance */
  .cp-live .source::before{content:'';position:absolute;left:-1px;top:50%;
    transform:translateY(-50%);width:2px;height:52%;border-radius:2px;background:#00D4C8;}
  .cp-live .source[data-state="awaiting"]::before{background:#F0A53A;}
  .cp-live .source[data-state="not-measured"]::before{background:rgba(255,255,255,.2);}

  /* ---------- legend ---------- */
  .cp-live .cov-key{display:flex;gap:14px;flex-wrap:wrap;align-items:center;
    padding:7px 10px 2px;font-size:clamp(9px,.44vw,9px);color:rgba(255,255,255,.5);
    letter-spacing:.04em;}
  .cp-live .cov-key i{display:inline-block;width:6px;height:6px;border-radius:50%;
    margin-right:5px;vertical-align:middle;}
  .cp-live .cov-key .k1 i{background:#00D4C8;}
  .cp-live .cov-key .k2 i{background:#F0A53A;}
  .cp-live .cov-key .k3 i{background:rgba(255,255,255,.28);}

  /* ---------- enforcement planes ---------- */
  .cp-live .tools > span[data-state="compiled"]{opacity:.62;}
  .cp-live .tools > span[data-state="compiled"] span::after{content:' \00b7 compiled';
    color:#F0C07A;}
  .cp-live .tools > span[data-state="verified"]::after{content:' \00b7 verified';
    color:#7FF5EE;}
  /* G360-KIT-PLANNED - a plane with no compiler behind it is not `compiled`.
     Distinct from compiled and verified, and visibly weaker than both. */
  .cp-live .tools > span[data-state="planned"]{opacity:.4;}
  .cp-live .tools > span[data-state="planned"] i{background:transparent !important;
    border:1px dashed rgba(255,255,255,.24);color:rgba(255,255,255,.45) !important;}
  .cp-live .tools > span[data-state="planned"]::after{content:' \00b7 planned';
    color:rgba(255,255,255,.42);}
  .cp-live .tools > span::after{font-size:.9em;letter-spacing:0;}

/* G360-KIT-TEX */
  .pt::before,.cf::after{content:"";position:absolute;top:-10%;right:-8%;width:62%;height:120%;
    pointer-events:none;opacity:.85;
    background:repeating-linear-gradient(-56deg,rgba(0,212,200,.13) 0 2px,transparent 2px 17px);
    -webkit-mask-image:radial-gradient(66% 58% at 80% 10%,#000 6%,transparent 72%);
            mask-image:radial-gradient(66% 58% at 80% 10%,#000 6%,transparent 72%);}
  .pt-in,.cf-in{z-index:1;}

/* G360-KIT-ESTATE */
  .cp-live .sources{display:flex;flex-direction:column;overflow:hidden;}
  .cp-live .sources{background:rgba(4,11,20,.985);}
  /* G360-KIT-GRID - one content width for every full-bleed section */
  .cpa-in,.xs-in,.db-in,.dk-in,.pt-in{max-width:1240px;}

  /* G360-KIT-HUB - wordmark must scale with the figure, not the viewport.
     Circle is 11.7% of the figure width; vw units ignored that and overflowed. */
  .cp-live{container-type:inline-size;}
  .cp-live .hub-core strong{font-size:clamp(10px,1.68cqw,21px);}
  .cp-live .hub-core small{font-size:clamp(9px,.58cqw,8.5px);}
  .cp-live .hub-core{padding:0 6%;}
  .cp-live .hub-core strong{max-width:100%;white-space:nowrap;}

  /* G360-KIT-SPRAWL - align the four KPI rows and stop the runaway box overlapping */
  .cp-live .sprawls{grid-template-rows:auto auto auto auto min-content;
    align-content:start;row-gap:0;height:auto;bottom:auto;}
  .cp-live .sprawls > article{grid-row:span 4;display:grid;grid-template-rows:subgrid;
    padding-top:0;align-items:start;}
  .cp-live .sprawls > article > a{display:grid;grid-row:span 4;grid-template-rows:subgrid;
    padding:6% 4% 4%;align-items:start;}
  .cp-live .sprawls > article span{align-self:end;line-height:1.16;}
  .cp-live .sprawls > article small{margin-top:6%;min-height:0;align-self:start;}
  .cp-live .sprawls > article b{margin:8% 0 4%;align-self:end;}
  .cp-live .sprawls > article p{align-self:start;}
  .cp-live .runaway{position:static;grid-column:1 / -1;grid-row:5;
    justify-self:center;width:64%;margin-top:5%;padding:1.4% 2.6%;
    left:auto;right:auto;bottom:auto;}
  .cp-live .runaway b{font-size:clamp(9px,.6vw,11px);line-height:1.1;}
  .cp-live .runaway span{font-size:clamp(9px,.43vw,8px);line-height:1.2;margin-top:1px;}

  /* G360-KIT-FAQBG - photo behind the FAQ, offset left, scrimmed for legibility */
  .fq{isolation:isolate;}
  .fq::before{
    background-image:
      linear-gradient(90deg,rgba(5,8,13,.40) 0%,rgba(5,8,13,.58) 46%,rgba(5,8,13,.74) 100%),
      url("assets/faq-bg.webp");
    background-size:cover,contain;
    background-position:center,right center;
    background-repeat:no-repeat;
    opacity:1;z-index:0;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);
            mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);}
  /* cards become solid panels so copy stays readable over the photo */
  .fq details{background:rgba(6,11,19,.80) !important;
    border-color:rgba(255,255,255,.14) !important;
    -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);}
  .fq details[open]{background:rgba(6,14,22,.88) !important;
    border-color:rgba(127,245,238,.34) !important;}
  .fq h2,.fq .fq-eb{text-shadow:0 2px 18px rgba(5,8,13,.9);}

  /* G360-KIT-PROV - one vocabulary for data provenance, marked per figure */
  .prov{display:inline-block;width:6px;height:6px;border-radius:50%;
    margin-left:5px;vertical-align:middle;flex:none;}
  .prov-m{background:#7FF5EE;box-shadow:0 0 6px rgba(127,245,238,.5);}
  .prov-i{background:transparent;border:1px solid rgba(255,255,255,.42);}
  .prov-key{display:block;margin-top:6px;}
  .prov-key b{font-weight:600;color:rgba(255,255,255,.62);}
  .prov-key b + b{margin-left:14px;}
  .foot-col a .ti{font-size:15px;vertical-align:-2px;margin-right:2px;}
  .hs-cap .prov{margin:0 6px 0 0;}

  /* G360-KIT-DENOM - denominators visible, caption readable, centre dominant */
  .hs-chip .tx small{display:block;color:rgba(255,255,255,.52);font-size:.63rem;
    font-weight:500;letter-spacing:.01em;margin-top:1px;white-space:nowrap;}
  .hs-cap{color:rgba(255,255,255,.62) !important;letter-spacing:.05em !important;
    text-transform:none !important;}
  /* focal emphasis: brighter core, quieter satellites */
  .hs-core-ring{border-color:rgba(0,212,200,.72) !important;
    box-shadow:0 0 46px rgba(0,212,200,.30),inset 0 0 30px rgba(0,212,200,.14);}
  .hs-core-ring i{color:#BFFFFA !important;}
  .hs-chip{background:rgba(8,14,22,.88);}
  .hs-chip .ic{background:rgba(0,212,200,.10);border-color:rgba(0,212,200,.20);}
  @media (max-width:900px){ .hs-chip .tx small{white-space:normal;} }

  /* G360-KIT-MOBILE - narrow-viewport rules for the sections added this session */
  @media (max-width:820px){
    .estate-kpi{grid-template-columns:1fr;}
    .estate-kpi>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.07);padding:3% 5%;}
    .estate-kpi>div:last-child{border-bottom:0;}
    .g360-bg-animation{opacity:.5;}
    .g360-bg-animation::before{width:100%;right:-14%;opacity:.7;}
    .ai-bg-only{opacity:.55;}
    .ai-bg-stripes{width:62%;}
    .msft-grid{gap:12px;}
    .msft-neutral{margin:-12px 0 26px;font-size:.84rem;}
    .msft-cta{gap:10px;}
    .btn-ms-primary,.btn-ms-ghost{width:100%;justify-content:center;min-height:48px;}
    .hero-trust-ms{margin-top:8px;}
    .prov-key b + b{margin-left:0;display:block;margin-top:4px;}
  }
  /* tap targets: 44px minimum on anything finger-sized */
  @media (max-width:820px) and (pointer:coarse){
    .foot-col a,.fq-more a,.db-go,.pt-t{min-height:44px;display:flex;align-items:center;}
    .dk-t,.msft-card{padding:18px 16px;}
  }

  /* G360-KIT-SECBG - per-section imagery, recoloured to each variant's accent */
  .db{position:relative;isolation:isolate;}
  .db::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;/* G360-KIT-MOBFIX */
    background-repeat:no-repeat;background-position:right center;background-size:contain;/* G360-KIT-BGAUTO */
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 34%,#000 66%);
            mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 34%,#000 66%);
    opacity:.85;}
  .db-amber::after{background-image:url("sec-bg-sprawl.webp");}
  .db-teal::after{background-image:url("sec-bg-platform.webp");}
  .db-green::after{background-image:url("sec-bg-why.webp");}
  .db-in{position:relative;z-index:2;}
  .db::before{z-index:1;}
  @media (max-width:820px){
    /* G360-KIT-MOBFIX2 - portrait viewport crops 'cover' hard; anchor the
       artwork's subject and use contain-ish sizing so it is actually visible */
    .db::after{opacity:.55;background-position:right center;background-size:contain;}
    .dk::after{opacity:.5;background-position:right top;background-size:contain;}
    .fq::before{background-size:cover,contain;background-position:center,right center;}

    /* G360-KIT-FIGMOB - keep the desktop composition on phones. The figure is
       a single 16:9 diagram; reflowing it into a stack broke every position.
       It now scales down and pans horizontally at a legible size. */
    /* G360-KIT-FIGFIT - whole diagram scaled to fit the viewport. Desktop
       composition preserved exactly; only the scale factor changes. */
    .cpa-fig{position:relative;overflow:hidden;}
    .cp-live{will-change:transform;}
    .fig-pan{display:none;}
  }

  /* G360-KIT-FAQLEFT - FAQ copy sits left; right column stays clear for the photo */
  .fq-in{max-width:1240px;
    display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);
    column-gap:56px;align-items:start;}
  .fq-in > *{grid-column:1;min-width:0;}
  .fq-eb{text-align:left;}
  .fq h2{text-align:left;}
  .fq-rule{margin:0 0 40px;}
  .fq-more{text-align:left;}
  

  /* G360-KIT-MSFT */
  .hero-trust-ms{margin-top:10px;opacity:.92;}
  .hero-custom{max-width:88ch;margin:18px 0 4px;padding:14px 16px;border-radius:12px;
    background:rgba(0,212,200,.045);border:1px solid rgba(0,212,200,.16);
    color:rgba(255,255,255,.68);font-size:.88rem;line-height:1.6;}
  .hero-custom b{display:block;color:#7FF5EE;font-weight:650;margin-bottom:4px;}
  @media (max-width:820px){ .hero-custom{font-size:.84rem;padding:12px 14px;} }
  .hero-trust-ms span{color:#7FF5EE;}
  .msft{position:relative;overflow:hidden;background:#05080D;padding:56px 0 60px;}
  /* G360-KIT-MSBG - animated field, palette rebased to site black + teal */
  .msft > *{position:relative;z-index:5;}
  .ai-bg-only{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
    background:
      radial-gradient(circle at 70% 18%,rgba(0,212,200,.040),transparent 24%),
      radial-gradient(circle at 80% 55%,rgba(0,150,145,.032),transparent 28%),
      radial-gradient(circle at 30% 75%,rgba(104,231,223,.018),transparent 22%),
      linear-gradient(180deg,#040609 0%,#030507 45%,#020406 100%);}
  .ai-bg-only canvas,.ai-bg-grid,.ai-bg-glow,.ai-bg-beam,.ai-bg-stripes{position:absolute;inset:0;}
  .ai-bg-only canvas{width:100%;height:100%;z-index:2;}
  .ai-bg-grid{z-index:1;opacity:.16;
    background-image:
      linear-gradient(rgba(140,190,190,.045) 1px,transparent 1px),
      linear-gradient(90deg,rgba(140,190,190,.045) 1px,transparent 1px);
    background-size:56px 56px;
    -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,1));
            mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,1));}
  .ai-bg-glow{z-index:0;
    background:
      radial-gradient(circle at 72% 35%,rgba(0,212,200,.055),transparent 18%),
      radial-gradient(circle at 78% 60%,rgba(0,160,155,.045),transparent 22%),
      radial-gradient(circle at 58% 40%,rgba(0,120,118,.030),transparent 25%);
    filter:blur(18px);animation:msBgPulse 7s ease-in-out infinite alternate;}
  .ai-bg-beam{z-index:3;mix-blend-mode:screen;
    background:linear-gradient(90deg,transparent 0%,transparent 58%,
      rgba(0,212,200,.018) 68%,rgba(0,212,200,.035) 78%,rgba(0,212,200,.010) 88%,transparent 100%);
    animation:msBeamMove 9s linear infinite;}
  .ai-bg-stripes{z-index:4;left:auto;right:-6%;width:64%;height:120%;top:-10%;opacity:1;
    background-image:repeating-linear-gradient(-58deg,
      rgba(0,212,200,.16) 0 2px,transparent 2px 16px);
    -webkit-mask-image:radial-gradient(70% 60% at 78% 12%,#000 8%,transparent 72%);
            mask-image:radial-gradient(70% 60% at 78% 12%,#000 8%,transparent 72%);
    animation:msStripeShift 22s linear infinite;}
  @keyframes msBgPulse{0%{transform:scale(1) translate(0,0);opacity:.85}
    100%{transform:scale(1.08) translate(-10px,8px);opacity:1}}
  @keyframes msBeamMove{0%{transform:translateX(0);opacity:.55}
    50%{transform:translateX(-18px);opacity:.9}100%{transform:translateX(0);opacity:.55}}
  @keyframes msStripeShift{0%{transform:translate(0,0)}100%{transform:translate(-19px,-30px)}}
  @media (prefers-reduced-motion:reduce){
    .ai-bg-glow,.ai-bg-beam,.ai-bg-stripes{animation:none;}
  }
  .msft-in{position:relative;z-index:5;max-width:1240px;margin:0 auto;padding:0 26px;}
  .msft-eb{display:block;font-family:var(--g-font-mono,ui-monospace,monospace);font-size:11px;
    letter-spacing:.17em;text-transform:uppercase;color:#7FF5EE;margin-bottom:14px;}
  .msft-eb::before{content:'';display:block;width:88px;height:2px;margin:0 0 14px;
    background:linear-gradient(90deg,#00D4C8,rgba(0,212,200,0));}
  .msft h2{color:#fff;font-family:var(--g-font-display,system-ui);font-weight:700;margin:0 0 11px;
    font-size:clamp(1.4rem,2.4vw,1.95rem);line-height:1.14;letter-spacing:-.022em;}
  .msft h2 em{color:#7FF5EE;font-style:normal;}
  .msft-sub{max-width:94ch;color:rgba(255,255,255,.72);font-size:1rem;line-height:1.65;margin:0 0 40px;}
  .msft-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
  .msft-card{background:rgba(0,212,200,.035);border:1px solid rgba(0,212,200,.14);
    border-radius:15px;padding:22px 20px 20px;transition:border-color .22s ease,background .22s ease;}
  .msft-card:hover{background:rgba(0,212,200,.07);border-color:rgba(0,212,200,.34);}
  .msft-card i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;
    background:rgba(0,212,200,.10);color:#7FF5EE;font-size:20px;margin-bottom:14px;}
  .msft-card h3{color:#fff;font-size:1rem;font-weight:700;margin:0 0 8px;line-height:1.25;}
  .msft-card p{color:rgba(255,255,255,.66);font-size:.88rem;line-height:1.55;margin:0;}
  /* G360-KIT-STATES - three states, three confidence levels. Same weight,
     descending brightness: only 'verified' is backed by a platform read path. */
  .msft-card b{font-weight:650;}
  .msft-card b.st-verified{color:#7FF5EE;}
  .msft-card b.st-applied{color:rgba(255,255,255,.72);}
  .msft-card b.st-compiled{color:rgba(255,255,255,.46);}
  .msft-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;align-items:center;}
  .btn-ms-primary,.btn-ms-ghost{display:inline-flex;align-items:center;gap:8px;
    border-radius:999px;font-weight:650;font-size:.95rem;text-decoration:none;
    padding:13px 22px;transition:all .2s ease;}
  .btn-ms-primary{background:#7FF5EE;color:#04231F;}
  .btn-ms-primary:hover{background:#BFFFFA;}
  .btn-ms-ghost{color:#7FF5EE;border:1px solid rgba(0,212,200,.34);}
  .btn-ms-ghost:hover{border-color:rgba(0,212,200,.6);background:rgba(0,212,200,.06);}
  .msft-neutral{display:flex;gap:10px;align-items:flex-start;max-width:none;
    margin:-24px 0 36px;padding:14px 16px;border-radius:12px;
    background:rgba(0,212,200,.045);border:1px solid rgba(0,212,200,.16);
    color:rgba(255,255,255,.68);font-size:.88rem;line-height:1.6;}
  .msft-neutral i{color:#7FF5EE;font-size:17px;flex:none;margin-top:2px;}
  .msft-neutral b{color:rgba(255,255,255,.86);font-weight:650;}
  .msft-fine{margin:26px 0 0;font-size:.72rem;line-height:1.5;color:rgba(255,255,255,.34);max-width:none;}
  @media (max-width:1000px){ .msft-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
  @media (max-width:620px){ .msft-grid{grid-template-columns:1fr;} .msft{padding:42px 0 46px;} }
  @media (max-width:900px){
    .fq-in{grid-template-columns:1fr;column-gap:0;}

  }

  /* G360-KIT-SPARK - shared particle keyframes (layers now canvas-driven on .xs-band) */
  @keyframes xsSparkA{from{transform:translate3d(0,0,0);}to{transform:translate3d(-360px,-320px,0);}}
  @keyframes xsSparkB{from{transform:translate3d(0,0,0);}to{transform:translate3d(250px,-230px,0);}}

  /* G360-KIT-CANVASBG - canvas field replaces the bokeh orbs and spark tiles */
  .xs-bok{background:
      radial-gradient(circle at 78% 46%,rgba(0,212,200,.055),transparent 26%),
      radial-gradient(circle at 82% 54%,rgba(104,231,223,.035),transparent 19%),
      linear-gradient(135deg,#04070C 0%,#05080D 45%,#060A11 100%);}
  .xs-bok::before{content:'';position:absolute;inset:0;
    background-image:
      linear-gradient(rgba(140,190,190,.030) 1px,transparent 1px),
      linear-gradient(90deg,rgba(140,190,190,.030) 1px,transparent 1px);
    background-size:72px 72px;opacity:.34;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 44%,#000 100%);
            mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 44%,#000 100%);}
  #g360BgCanvas{position:absolute;inset:0;width:100%;height:100%;}
  .bg-orbit{position:absolute;left:78%;top:49%;width:min(27vw,420px);aspect-ratio:1;
    translate:-50% -50%;border-radius:50%;}
  .bg-orbit::before,.bg-orbit::after{content:'';position:absolute;border-radius:50%;
    border:1px solid rgba(104,231,223,.08);animation:g360Spin 38s linear infinite;}
  .bg-orbit::before{inset:4%;}
  .bg-orbit::after{inset:-18%;border-color:rgba(0,212,200,.05);
    animation-direction:reverse;animation-duration:52s;}
  .bg-orbit-inner{position:absolute;inset:-36%;border-radius:50%;
    border:1px solid rgba(127,245,238,.030);animation:g360Pulse 9s ease-in-out infinite;}
  @keyframes g360Spin{to{transform:rotate(360deg);}}
  @keyframes g360Pulse{0%,100%{transform:scale(.98);opacity:.35}50%{transform:scale(1.025);opacity:.70}}
  /* site texture stays above the new field */
  .xs-band::before{z-index:1;}
  .xs-band::after{z-index:1;}
  .xs-in{z-index:2;}
  @media (max-width:900px){
    .bg-orbit{left:66%;top:58%;width:min(58vw,360px);}
  }
  @media (prefers-reduced-motion:reduce){
    .bg-orbit::before,.bg-orbit::after,.bg-orbit-inner{animation:none;}
  }

  /* G360-KIT-CPABG - layered field behind the Intelligence Engine, black + teal */
  .g360-bg-animation{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;
    background:
      radial-gradient(circle at 18% 22%,rgba(0,212,200,.075),transparent 28%),
      radial-gradient(circle at 70% 40%,rgba(0,150,145,.055),transparent 34%),
      linear-gradient(180deg,#05080D 0%,#03060A 55%,#020407 100%);}
  .g360-bg-animation canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
  .g360-bg-animation::before{content:'';position:absolute;top:-10%;right:-6%;
    width:64%;height:120%;pointer-events:none;
    background:repeating-linear-gradient(-58deg,rgba(0,212,200,.16) 0 2px,transparent 2px 16px);
    -webkit-mask-image:radial-gradient(70% 60% at 78% 12%,#000 8%,transparent 72%);
            mask-image:radial-gradient(70% 60% at 78% 12%,#000 8%,transparent 72%);
    animation:msStripeShift 175s linear infinite;}
  @media (prefers-reduced-motion:reduce){ .g360-bg-animation::before{animation:none;} }
  .g360-bg-grid{position:absolute;inset:0;opacity:.30;
    background:
      linear-gradient(rgba(140,190,190,.05) 1px,transparent 1px),
      linear-gradient(90deg,rgba(140,190,190,.05) 1px,transparent 1px);
    background-size:64px 64px,64px 64px;
    -webkit-mask-image:radial-gradient(circle at center,#000 40%,transparent 95%);
            mask-image:radial-gradient(circle at center,#000 40%,transparent 95%);
    animation:g360GridDrift 150s linear infinite;}
  .g360-bg-glow{position:absolute;inset:-10%;filter:blur(32px);
    background:
      radial-gradient(circle at 28% 30%,rgba(0,212,200,.05),transparent 20%),
      radial-gradient(circle at 60% 55%,rgba(0,150,145,.055),transparent 24%),
      radial-gradient(circle at 82% 30%,rgba(104,231,223,.03),transparent 16%);
    animation:g360GlowPulse 64s ease-in-out infinite;}
  @keyframes g360GridDrift{0%{transform:translateY(0)}50%{transform:translateY(12px)}
    100%{transform:translateY(0)}}
  @keyframes g360GlowPulse{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}
  @media (prefers-reduced-motion:reduce){
    .g360-bg-grid,.g360-bg-glow{animation:none;}
  }
  .cpa-in{z-index:2;}
  .cpa-fig{position:relative;z-index:2;margin-top:54px;}

  /* G360-KIT-FIGFS - full screen for the control plane, both breakpoints */
  .fig-fs{position:absolute;top:-46px;right:0;z-index:6;/* G360-KIT-FSMOVE */
    display:inline-flex;align-items:center;gap:7px;
    padding:8px 13px;border-radius:999px;cursor:pointer;
    background:rgba(5,8,13,.72);border:1px solid rgba(0,212,200,.28);
    color:#7FF5EE;font:600 12px/1 var(--g-font,system-ui);
    -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
    transition:border-color .2s ease,background .2s ease;}
  .fig-fs:hover{border-color:rgba(0,212,200,.55);background:rgba(5,8,13,.9);}
  .fig-fs i{font-size:16px;}
  .cpa-fig:fullscreen{background:#05080D;display:grid;place-items:center;padding:2vh 2vw;}
  .cpa-fig:fullscreen figcaption{display:none;}
  .cpa-fig:fullscreen .fig-fs{top:18px;right:18px;}
  .cpa-fig.fig-fs-on .fig-fs{top:max(14px,env(safe-area-inset-top));right:14px;}
  /* iOS Safari fallback - no Element.requestFullscreen */
  .cpa-fig.fig-fs-on{position:fixed;inset:0;z-index:9999;margin:0;
    background:#05080D;display:grid;place-items:center;padding:2vh 2vw;}
  .cpa-fig.fig-fs-on figcaption{display:none;}
  .cpa-fig.fig-fs-on .fig-fs{top:max(14px,env(safe-area-inset-top));right:14px;}
  @media (max-width:820px){
    .fig-fs span{display:none;}
    .fig-fs{padding:9px;top:-42px;right:0;}
    .cpa-fig{overflow:visible;}
    .cpa-fig.fig-fs-on{overflow:hidden;}
  }
  @media (prefers-reduced-motion:reduce){
    .g360-bg-animation canvas{opacity:.85;}
  }
  .fq-in{position:relative;z-index:2;}
  .fq::after{z-index:1;}
  @media (max-width:820px){
    
  }
  @media (prefers-reduced-data:reduce){
    .fq::before{background-image:linear-gradient(180deg,#05080D,#070C14);}
  }
  .cp-live .source-head{flex:0 0 auto;height:auto;padding-top:2.4%;padding-bottom:2.4%;}
  .cp-live .source-list{flex:1 1 auto;height:auto;min-height:0;overflow:hidden;}
  .cp-live .estate-kpi{flex:0 0 auto;display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
    border-bottom:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.022);}
  .cp-live .estate-kpi>div{padding:3.2% 4.2%;border-right:1px solid rgba(255,255,255,.07);
    display:flex;flex-direction:column;gap:1px;min-width:0;overflow:hidden;}
  .cp-live .estate-kpi>div:last-child{border-right:0;}
  .cp-live .estate-kpi span{font-size:clamp(9px,.42vw,8px);letter-spacing:.09em;
    text-transform:uppercase;color:rgba(255,255,255,.5);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .cp-live .estate-kpi b{font-size:clamp(11px,1.12vw,20px);line-height:1.04;color:#7FF5EE;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .cp-live .estate-kpi b.money{color:#F0A53A;}
  .cp-live .estate-kpi b.warnv{color:#F0A53A;}
  .cp-live .estate-kpi small{font-size:clamp(9px,.38vw,7.5px);color:rgba(255,255,255,.42);
    line-height:1.25;overflow:hidden;}
  /* keep every row on one line so the list cannot collide */
  .cp-live .source strong{white-space:nowrap;}
  .cp-live .source[data-state="awaiting"] strong,
  .cp-live .source[data-state="not-measured"] strong{font-size:.78em;padding:2px 5px;
    background:transparent;color:rgba(255,255,255,.5);}
  .cp-live .cov-key{flex:0 0 auto;padding:6px 10px 8px;}
