/* ============================================================
   Softsensor.ai — premium homepage layer (logo-azure palette)
   Loaded in addition to style.css. Scoped to new classes so
   existing pages are untouched.
   ============================================================ */
:root{
  --navy:#0B2440; --navy2:#14375F; --ink:#102A47;
  --azure:#1B74B8; --azure-2:#155E97; --cyan:#18A0C8;
  --azure-soft:#E8F2FB; --azure-line:#D4E4F2;
  --bg:#ffffff; --surface:#F4F8FC; --grey:#54657A; --body:#33455C; --line:#e4ebf3;
  --disp:'Space Grotesk',-apple-system,Segoe UI,sans-serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;
  --maxw:1200px;
}
.pm{font-family:var(--sans);color:var(--body);-webkit-font-smoothing:antialiased;letter-spacing:-.01em}
.pm h1,.pm h2,.pm h3,.pm h4{font-family:var(--disp);color:var(--ink);letter-spacing:-.025em;line-height:1.1}
.pm .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.pm section{padding:96px 0}
.pm .eyebrow{font-family:var(--disp);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--azure)}
.pm .lead{font-size:19px;color:var(--grey);line-height:1.6;max-width:680px}
.pm .sec-head{max-width:760px;margin-bottom:56px}
.pm .sec-head h2{font-size:40px;font-weight:700;margin:14px 0 14px}
@media(max-width:720px){.pm .sec-head h2{font-size:30px}.pm section{padding:64px 0}}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* buttons (premium) */
.pm .btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:600;font-size:15px;
  padding:14px 26px;border-radius:10px;border:1.5px solid transparent;cursor:pointer;transition:.18s;text-decoration:none}
.pm .btn-primary{background:var(--azure);color:#fff;box-shadow:0 8px 22px rgba(27,116,184,.28)}
.pm .btn-primary:hover{background:var(--azure-2);transform:translateY(-2px);box-shadow:0 12px 28px rgba(27,116,184,.34)}
.pm .btn-ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.28)}
.pm .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.12)}
.pm .btn-outline{background:#fff;color:var(--ink);border-color:var(--line)}
.pm .btn-outline:hover{border-color:var(--azure);color:var(--azure)}
.pm .arrow{transition:transform .18s}
.pm .btn:hover .arrow{transform:translateX(3px)}

/* ---------------- HERO (deep navy, premium) ---------------- */
.hero-pm{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(1100px 520px at 78% -8%,rgba(24,160,200,.28),transparent 60%),
             radial-gradient(900px 600px at 12% 110%,rgba(27,116,184,.30),transparent 55%),
             linear-gradient(160deg,#0B2440 0%,#0E2C4E 60%,#102A47 100%)}
.hero-pm:before{content:"";position:absolute;inset:0;background-image:
  linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:46px 46px;mask-image:radial-gradient(800px 500px at 70% 20%,#000,transparent 75%);opacity:.6}
.hero-pm .wrap{position:relative;display:grid;grid-template-columns:1.06fr .94fr;gap:48px;align-items:center;
  padding-top:84px;padding-bottom:88px}
@media(max-width:940px){.hero-pm .wrap{grid-template-columns:1fr;gap:34px}}
.hero-pm h1{color:#fff;font-size:54px;font-weight:700;line-height:1.04;max-width:660px}
.hero-pm h1 .hl{background:linear-gradient(100deg,#5FC8E6,#7FB6FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-pm .eyebrow{color:#8fd3ec}
.hero-pm p.sub{color:#bcd0e6;font-size:19px;line-height:1.62;margin:22px 0 30px;max-width:560px}
.hero-pm .cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-pm .receipt{margin-top:28px;display:inline-flex;align-items:center;gap:10px;font-size:13px;color:#9fb6d0;
  border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 15px;font-weight:500}
.hero-pm .receipt b{color:#cfe0f2;font-weight:600}
@media(max-width:640px){.hero-pm h1{font-size:38px}}

/* hero stat strip */
.hero-stats{position:relative;border-top:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02)}
.hero-stats .wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:22px 28px}
.hero-stats .s b{font-family:var(--disp);font-size:26px;font-weight:700;color:#fff;display:block}
.hero-stats .s span{font-size:12.5px;color:#93a8c2;font-weight:500}
@media(max-width:760px){.hero-stats .wrap{grid-template-columns:repeat(2,1fr);gap:18px}}

/* ---------------- THESIS band ---------------- */
.thesis{background:var(--bg)}
.thesis .big{font-family:var(--disp);font-weight:700;font-size:38px;line-height:1.18;letter-spacing:-.025em;color:var(--ink);max-width:980px}
.thesis .big em{font-style:normal;color:var(--azure)}
.thesis .meta{margin-top:22px;color:var(--grey);font-size:16px;max-width:720px;line-height:1.6}
@media(max-width:720px){.thesis .big{font-size:26px}}

/* ---------------- PILLARS (rich, not flat) ---------------- */
.pillars{background:var(--surface)}
.pillar{display:grid;grid-template-columns:64px 1fr auto;gap:26px;align-items:start;
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 34px;box-shadow:0 10px 30px rgba(15,42,71,.05)}
.pillar+.pillar{margin-top:20px}
.pillar .no{font-family:var(--disp);font-weight:700;font-size:18px;color:#fff;width:54px;height:54px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--azure),var(--cyan))}
.pillar h3{font-size:23px;margin-bottom:8px}
.pillar p{color:var(--grey);font-size:15.5px;max-width:620px;line-height:1.6}
.pillar .proof{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.pillar .proof span{font-size:12px;font-weight:600;color:var(--azure-2);background:var(--azure-soft);border:1px solid var(--azure-line);border-radius:999px;padding:5px 11px}
.pillar .q{font-family:var(--disp);font-weight:600;font-size:13px;color:var(--grey);white-space:nowrap;align-self:center}
@media(max-width:820px){.pillar{grid-template-columns:54px 1fr;gap:18px;padding:24px}.pillar .q{display:none}}

/* ---------------- S.E.N.S.E. designed diagram ---------------- */
.sense-pm{background:var(--bg)}
.sense-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;margin-top:14px}
@media(max-width:860px){.sense-flow{grid-template-columns:1fr 1fr}}@media(max-width:520px){.sense-flow{grid-template-columns:1fr}}
.sense-step{position:relative;padding:26px 22px 26px 0}
.sense-step:not(:last-child):after{content:"";position:absolute;top:38px;right:14px;width:24px;height:2px;
  background:linear-gradient(90deg,var(--azure),var(--cyan))}
@media(max-width:860px){.sense-step:after{display:none}}
.sense-step .dot{width:48px;height:48px;border-radius:13px;background:var(--azure-soft);border:1px solid var(--azure-line);
  display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:20px;color:var(--azure);margin-bottom:16px}
.sense-step h4{font-size:17px;margin-bottom:6px}
.sense-step p{font-size:13.5px;color:var(--grey);line-height:1.55}

/* ---------------- METRIC band ---------------- */
.metrics{background:linear-gradient(160deg,#0E2C4E,#102A47);color:#fff}
.metrics .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
@media(max-width:820px){.metrics .grid{grid-template-columns:1fr 1fr}}
.metrics .m b{font-family:var(--disp);font-size:42px;font-weight:700;background:linear-gradient(100deg,#6FD0EC,#8FB8FF);
  -webkit-background-clip:text;background-clip:text;color:transparent;display:block}
.metrics .m span{color:#aebfd6;font-size:14.5px}
.metrics .eyebrow{color:#7fc8e6}
.metrics .sec-head h2{color:#fff}

/* ---------------- CASE cards (rich) ---------------- */
.cases-pm{background:var(--surface)}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.case-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.case-grid{grid-template-columns:1fr}}
.case-pm{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;
  transition:.2s;text-decoration:none}
.case-pm:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(15,42,71,.10);border-color:var(--azure-line)}
.case-pm .top{height:96px;background:linear-gradient(135deg,var(--navy2),var(--azure));position:relative;overflow:hidden}
.case-pm .top:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 80% 20%,rgba(255,255,255,.18),transparent 45%);}
.case-pm .top .cat{position:absolute;left:20px;bottom:14px;color:#fff;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.95}
.case-pm .b{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}
.case-pm h3{font-size:18px;color:var(--ink)}
.case-pm .desc{font-size:14px;color:var(--grey);line-height:1.55}
.case-pm .kpis{margin-top:auto;display:flex;gap:18px;border-top:1px solid var(--line);padding-top:14px}
.case-pm .kpis b{font-family:var(--disp);color:var(--azure);font-size:20px;display:block}
.case-pm .kpis span{font-size:11.5px;color:var(--grey)}

/* ---------------- CONCORD feature ---------------- */
.concord-pm{background:var(--bg)}
.concord-pm .split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media(max-width:900px){.concord-pm .split{grid-template-columns:1fr;gap:30px}}
.badge-prod{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--azure);background:var(--azure-soft);border:1px solid var(--azure-line);border-radius:999px;padding:6px 13px}
.concord-pm h2{font-size:34px;margin:16px 0 14px}
.flist{list-style:none;margin:18px 0 0;padding:0}
.flist li{position:relative;padding:11px 0 11px 30px;border-bottom:1px solid var(--line);font-size:15px;color:var(--body)}
.flist li:last-child{border-bottom:0}
.flist li b{color:var(--ink)}
.flist li:before{content:"";position:absolute;left:4px;top:17px;width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--azure),var(--cyan))}
/* cockpit mock */
.cockpit2{background:#0B2440;border-radius:18px;padding:18px;border:1px solid #1a3a5e;box-shadow:0 30px 70px rgba(11,36,64,.4)}
.cockpit2 .bar{display:flex;gap:7px;padding:2px 4px 14px}.cockpit2 .bar i{width:11px;height:11px;border-radius:50%;background:#33486b;display:block}
.kan{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.kcol2{background:#13315a;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:9px;min-height:128px}
.kcol2 b{font-size:10px;letter-spacing:.06em;color:#86a4cc;text-transform:uppercase}
.tk2{background:#1c4170;border:1px solid rgba(255,255,255,.06);border-radius:7px;padding:8px;margin-top:8px;font-size:11px;color:#dbe7f7}
.tk2 .id{color:#67b7e6;font-weight:700;font-size:9.5px}
.tk2 .pl{display:inline-block;font-size:9px;padding:2px 7px;border-radius:999px;margin-top:6px;font-weight:700}
.pl-ok{background:rgba(24,160,200,.22);color:#7fe0f2}.pl-g{background:rgba(27,116,184,.26);color:#a9cdf0}
.jrnl{background:#081d33;border:1px solid #18324f;border-radius:11px;padding:13px 15px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:#90a8c6;margin-top:10px;overflow-x:auto}
.jrnl .k{color:#67b7e6}.jrnl .v{color:#e6eefb}.jrnl .ok{color:#7fe0f2}.jrnl .sq{color:#4f6a8c}

/* ---------------- TRUST strip ---------------- */
.trust{background:var(--surface)}
.logos2{display:flex;flex-wrap:wrap;gap:10px}
.logos2 span{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 16px;font-weight:600;font-size:14px;color:var(--ink)}
.award{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.award span{font-size:12.5px;font-weight:600;color:var(--azure-2);background:var(--azure-soft);border:1px solid var(--azure-line);border-radius:8px;padding:7px 12px}

/* ---------------- big CTA ---------------- */
.cta-pm .box{background:radial-gradient(800px 400px at 80% -20%,rgba(24,160,200,.3),transparent 60%),linear-gradient(160deg,#0B2440,#13315a);
  border-radius:24px;padding:64px 48px;text-align:center;color:#fff;position:relative;overflow:hidden}
.cta-pm h2{color:#fff;font-size:36px;font-weight:700}
.cta-pm p{color:#bcd0e6;font-size:18px;margin:14px auto 28px;max-width:560px}
.cta-pm .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:640px){.cta-pm .box{padding:40px 24px}.cta-pm h2{font-size:27px}}

/* ===== SHARED ACROSS ALL PAGES (loaded site-wide) ===== */
/* azure palette override for the base stylesheet + premium body font */
:root{--accent:#1B74B8;--accent-2:#155E97;--accent-soft:#E8F2FB;--ink:#102A47}
body{font-family:var(--sans)}
/* dark, consistent sticky header everywhere */
header.site{background:rgba(11,36,64,.72);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
header.site .brand img{filter:brightness(0) invert(1)}
header.site .navlinks a:not(.btn){color:#dce7f5}
header.site .navlinks a:not(.btn):hover,header.site .navlinks a.active{color:#fff}
header.site .navlinks a.active:after{background:#5FC8E6}
header.site .btn-primary{background:var(--azure)}
header.site .navtoggle{color:#fff}
@media(max-width:900px){header.site .navlinks{background:#0b2440}}
/* compact navy page-hero for interior pages */
.page-hero-pm{position:relative;overflow:hidden;color:#fff;padding:132px 0 60px;
  background:radial-gradient(800px 380px at 82% -20%,rgba(24,160,200,.26),transparent 60%),linear-gradient(160deg,#0B2440,#102A47)}
.page-hero-pm:before{content:"";position:absolute;inset:0;background-image:
  linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:46px 46px;mask-image:radial-gradient(700px 400px at 75% 10%,#000,transparent 75%);opacity:.5}
.page-hero-pm .wrap{position:relative}
.page-hero-pm .kicker,.page-hero-pm .eyebrow{color:#8fd3ec}
.page-hero-pm h1{color:#fff;font-size:44px;font-weight:700;letter-spacing:-.025em;max-width:860px;font-family:var(--disp)}
.page-hero-pm p{color:#bcd0e6;font-size:18px;max-width:720px;margin-top:14px;line-height:1.6}
@media(max-width:640px){.page-hero-pm h1{font-size:32px}}

/* ===== interior-page premium components ===== */
.pm .grid{display:grid;gap:22px}
.pm .g2{grid-template-columns:1fr 1fr}.pm .g3{grid-template-columns:repeat(3,1fr)}.pm .g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.pm .g3,.pm .g4{grid-template-columns:1fr 1fr}}@media(max-width:600px){.pm .g2,.pm .g3,.pm .g4{grid-template-columns:1fr}}
.pcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;transition:.2s}
.pcard:hover{box-shadow:0 16px 40px rgba(15,42,71,.08);transform:translateY(-3px);border-color:var(--azure-line)}
.pcard .ic{width:46px;height:46px;border-radius:12px;background:var(--azure-soft);border:1px solid var(--azure-line);display:flex;align-items:center;justify-content:center;font-size:21px;color:var(--azure);margin-bottom:16px}
.pcard h3{font-size:19px;margin-bottom:8px;color:var(--ink)}
.pcard p{font-size:14.5px;color:var(--grey);line-height:1.6}
.pcard .num{font-family:var(--disp);font-weight:700;color:var(--azure);font-size:14px}
.chip{display:inline-block;font-size:11.5px;font-weight:600;color:var(--azure-2);background:var(--azure-soft);border:1px solid var(--azure-line);border-radius:999px;padding:4px 10px;margin:4px 4px 0 0}
.surface-pm{background:var(--surface)}
/* service block */
.svc-pm{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 10px 30px rgba(15,42,71,.05)}
.svc-pm+.svc-pm{margin-top:20px}
.svc-pm .shead{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.svc-pm .n{font-family:var(--disp);font-weight:700;font-size:18px;color:#fff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--azure),var(--cyan));flex:none}
.svc-pm h3{font-size:21px}.svc-pm .shead p{color:var(--grey);font-size:14.5px;margin-top:2px}
.svc-pm .cols{display:grid;grid-template-columns:1.25fr 1fr;gap:30px}
@media(max-width:760px){.svc-pm .cols{grid-template-columns:1fr;gap:18px}}
.svc-pm ul{list-style:none;margin:0;padding:0}
.svc-pm li{position:relative;padding:9px 0 9px 22px;font-size:14.5px;color:var(--body);border-bottom:1px solid var(--line)}
.svc-pm li:last-child{border-bottom:0}.svc-pm li b{color:var(--ink)}
.svc-pm li:before{content:"";position:absolute;left:2px;top:16px;width:7px;height:7px;border-radius:50%;background:var(--azure)}
.svc-pm .side h5{font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--grey);margin:0 0 10px}
.outc{background:var(--azure-soft);border:1px solid var(--azure-line);border-radius:10px;padding:12px 14px;margin-bottom:10px}
.outc b{font-family:var(--disp);color:var(--azure);font-size:18px;display:block}.outc span{font-size:13px;color:var(--body)}
.prob{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:13.5px;color:var(--grey)}
/* lite CTA band */
.cta-lite{background:radial-gradient(700px 360px at 80% -20%,rgba(24,160,200,.28),transparent 60%),linear-gradient(160deg,#0B2440,#13315a);border-radius:22px;padding:56px 44px;text-align:center;color:#fff}
.cta-lite h2{color:#fff;font-size:30px}.cta-lite p{color:#bcd0e6;margin:12px auto 24px;max-width:580px;font-size:17px}
.cta-lite .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:640px){.cta-lite{padding:38px 22px}.cta-lite h2{font-size:24px}}
/* contact form */
.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;font-family:var(--sans)}
.field input,.field select,.field textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;font:inherit;font-size:15px;color:var(--ink);background:#fff;transition:.15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--azure);box-shadow:0 0 0 3px var(--azure-soft)}
.field textarea{min-height:120px;resize:vertical}
.cinfo{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px}
.cinfo .row{padding:13px 0;border-bottom:1px solid var(--line)}.cinfo .row:last-child{border-bottom:0}
.cinfo .row b{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey);margin-bottom:4px;font-family:var(--sans)}
.cinfo .row a,.cinfo .row span{color:var(--ink);font-weight:600;font-size:15px}
/* office tiles */
.offc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
.offc .city{font-family:var(--disp);font-weight:700;color:var(--ink);font-size:17px}
.offc .role{font-size:13px;color:var(--azure);font-weight:600;margin-top:3px}
.offc .hq{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.05em;background:var(--azure);color:#fff;border-radius:5px;padding:2px 7px;margin-left:6px}
