/* ===== Poppins (local, fonts/) - weights 400 & 700 only ===== */
@font-face{font-family:'Poppins';src:url('../fonts/Poppins-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Poppins';src:url('../fonts/Poppins-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Poppins';src:url('../fonts/Poppins-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Poppins';src:url('../fonts/Poppins-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap;}
:root{
  --blue:#1D81F2;
  --blue-dim:rgba(29,129,242,.1);
  --blue-dim2:rgba(29,129,242,.06);
  --ink:#454648;
  --sub:#454648;
  --sub2:#454648;
  --line:rgba(69,70,72,.15);
  --card:rgba(69,70,72,.05);
  --white:#FFFFFF;
  --radius:20px;
  box-sizing:border-box;
}
*{box-sizing:border-box;}
button,input,select,textarea{font-family:'Poppins',sans-serif;}
html{scroll-behavior:smooth;scroll-padding-top:84px;}
body{
  margin:0;font-family:'Poppins',sans-serif;color:var(--ink);
  background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.5;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.ic{width:1em;height:1em;display:inline-block;vertical-align:-0.14em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
section{padding:70px 0;}
.section-tight{padding:44px 0;}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;margin:0;}
a.link{color:var(--blue);text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:5px;}
a.link .ic{transition:transform .15s ease;}
a.link:hover .ic{transform:translateX(3px);}

/* ===== HEADER ===== */
header.site{position:sticky;top:0;z-index:50;background:transparent;border-bottom:1px solid transparent;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;}
header.site.is-scrolled{background:rgba(255,255,255,.88);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid rgba(69,70,72,.1);box-shadow:0 18px 40px -30px rgba(69,70,72,.7);}
nav.mainnav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:16px;padding:16px 0;}
.brand{display:flex;align-items:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:700;font-size:17px;text-decoration:none;color:var(--ink);justify-self:start;}
.navlinks{display:flex;align-items:center;gap:30px;font-size:14px;color:#454648;font-weight:400;justify-self:center;white-space:nowrap;}
.navlinks > a{text-decoration:none;padding:8px 0;position:relative;}
.navlinks > a:hover, .navlinks > a.is-active{color:var(--blue);}
.has-dropdown{position:relative;}
.dropdown-trigger{display:inline-flex;align-items:center;gap:5px;cursor:pointer;background:none;border:none;font:inherit;color:inherit;padding:8px 0;}
.dropdown-trigger:hover, .dropdown-trigger.is-active{color:var(--blue);}
.dropdown-trigger .ic{transition:transform .15s ease;}
.has-dropdown.open .dropdown-trigger .ic{transform:rotate(180deg);}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);background:#FFFFFF;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 48px -20px rgba(69,70,72,.18);padding:12px;width:300px;opacity:0;visibility:hidden;transition:opacity .15s ease, transform .15s ease;white-space:normal;}
.dropdown.wide{width:600px;}
.dropdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.has-dropdown:hover .dropdown, .has-dropdown.open .dropdown, .has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px);}
.dropdown a{display:flex;align-items:flex-start;gap:12px;padding:10px;border-radius:10px;text-decoration:none;color:var(--ink);}
.dropdown a:hover{background:var(--card);}
.dropdown .dic{width:34px;height:34px;border-radius:9px;background:var(--blue-dim);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;}
.dropdown strong{display:block;font-size:13px;font-weight:700;margin-bottom:2px;color:var(--ink);}
.dropdown span{font-size:11.5px;color:var(--sub2);line-height:1.4;}
.dropdown-foot{border-top:1px solid var(--line);margin-top:6px;padding:10px 10px 2px;}
.dropdown-foot a{padding:0;font-size:13px;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:5px;}
.dropdown-foot a:hover{background:none;}
.navcta{display:flex;align-items:center;gap:14px;justify-self:end;}
.btn-dark{background:var(--ink);color:#FFFFFF;border-radius:999px;padding:11px 20px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:7px;border:none;cursor:pointer;white-space:nowrap;}
.btn-light{background:#FFFFFF;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:11px 20px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:7px;cursor:pointer;}
.btn-dark.lg,.btn-light.lg{padding:13px 24px;font-size:14.5px;}
.menu-toggle{display:none;background:none;border:none;color:var(--ink);cursor:pointer;padding:6px;}
@media(max-width:960px){
  .navlinks{display:none;}
  .menu-toggle{display:flex;}
  nav.mainnav{grid-template-columns:auto 1fr auto;}
}
.mobile-panel{display:none;flex-direction:column;gap:2px;padding:8px 0 18px;border-top:1px solid var(--line);}
.mobile-panel.open{display:flex;}
.mobile-panel a{padding:12px 4px;text-decoration:none;color:var(--ink);font-weight:400;font-size:15px;border-bottom:1px solid var(--line);}
.mobile-panel a.sub{padding-left:16px;font-size:13.5px;color:var(--sub);font-weight:400;}

/* ===== HERO (page banners) ===== */
.page-hero{position:relative;overflow:hidden;background:
    radial-gradient(60% 60% at 50% 0%, rgba(29,129,242,.18), rgba(29,129,242,0) 70%),
    linear-gradient(180deg, rgba(29,129,242,.08), rgba(255,255,255,0) 60%);
  padding:64px 0 56px;text-align:center;
}
.page-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(rgba(29,129,242,.13) 1px, transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(60% 60% at 50% 10%, #454648 0%, transparent 72%);
  mask-image:radial-gradient(60% 60% at 50% 10%, #454648 0%, transparent 72%);
}
.page-hero > .wrap{position:relative;z-index:1;}
.breadcrumb{display:flex;justify-content:center;gap:8px;font-size:13px;color:var(--sub2);margin-bottom:18px;}
.breadcrumb a{text-decoration:none;color:var(--sub2);}
.breadcrumb a:hover{color:var(--blue);}
.eyebrow{color:var(--blue);font-size:13.5px;font-weight:700;margin-bottom:10px;}
.eyebrow-row{display:flex;justify-content:center;align-items:center;gap:9px;color:var(--blue);}
.service-badge{width:56px;height:56px;border-radius:16px;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 16px 32px -18px rgba(69,70,72,.25);display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:26px;margin:0 auto 22px;}
.page-hero h1{font-size:44px;line-height:1.15;font-weight:700;letter-spacing:-0.5px;margin:0 auto 16px;max-width:700px;}
.page-hero p.sub{color:var(--sub2);font-size:15px;font-weight:400;max-width:520px;margin:0 auto 26px;line-height:1.6;}
.hero-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.checks{display:flex;justify-content:center;gap:22px;font-size:13.5px;color:#454648;font-weight:400;margin:22px 0 4px;flex-wrap:wrap;}
.checks span{display:inline-flex;align-items:center;gap:7px;}
.check-ico{width:18px;height:18px;border-radius:50%;background:var(--blue-dim);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.check-ico .ic{stroke-width:2.8;width:11px;height:11px;}

/* ===== SECTION HEAD ===== */
.section-head{text-align:center;max-width:560px;margin:0 auto 50px;}
.section-head h2{font-size:32px;font-weight:700;letter-spacing:-0.3px;margin:0 0 12px;}
.section-head p{color:var(--sub2);font-size:14.5px;font-weight:400;line-height:1.6;margin:0;}
.section-head.left{text-align:left;margin:0 0 36px;}

/* ===== GRIDS / CARDS ===== */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:900px){.grid4{grid-template-columns:repeat(2,1fr);}.grid3{grid-template-columns:1fr;}}
@media(max-width:600px){.grid2{grid-template-columns:1fr;}.grid4{grid-template-columns:1fr;}}

.service-card{background:var(--card);border-radius:var(--radius);padding:26px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:14px;transition:transform .15s ease, box-shadow .15s ease;}
.service-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -24px rgba(69,70,72,.3);}
.service-card .fc-icon{width:44px;height:44px;border-radius:12px;background:#FFFFFF;display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:20px;}
.service-card h3{font-size:18px;font-weight:700;margin:0 0 6px;}
.service-card p{font-size:13.5px;color:var(--sub2);margin:0;line-height:1.55;}
.service-card .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px;}
.service-card .tags span{font-size:11px;font-weight:700;background:var(--blue-dim);color:var(--blue);border-radius:6px;padding:3px 8px;}

.feature-card{background:var(--card);border-radius:var(--radius);padding:24px;}
.fc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:10px;}
.fc-head h3{font-size:16.5px;font-weight:700;margin:0 0 6px;}
.fc-head p{font-size:13px;font-weight:400;color:var(--sub2);margin:0;line-height:1.5;}
.fc-icon{width:32px;height:32px;border-radius:10px;background:#FFFFFF;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--blue);font-size:16px;}

/* ===== STATS ===== */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
@media(max-width:700px){.stats-row{grid-template-columns:repeat(2,1fr);}}
.stat-block .num{font-family:'Poppins',sans-serif;font-size:34px;font-weight:700;color:var(--ink);}
.stat-block .lbl{font-size:13px;color:var(--sub2);margin-top:4px;}

/* ===== PROCESS STEPS ===== */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:900px){.process{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.process{grid-template-columns:1fr;}}
.process-step{position:relative;padding:24px 20px;border:1px solid var(--line);border-radius:18px;}
.process-step .num{font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;color:var(--blue);background:var(--blue-dim);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.process-step h4{font-size:15.5px;font-weight:700;margin:0 0 6px;}
.process-step p{font-size:13px;color:var(--sub2);margin:0;line-height:1.5;}

/* ===== BENEFITS / VALUES LIST ===== */
.benefits{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start;}
@media(max-width:820px){.benefits{grid-template-columns:1fr;}}
.benefits h2{font-size:32px;font-weight:700;letter-spacing:-0.3px;margin:14px 0 16px;}
.benefits p{color:var(--sub2);font-size:14.5px;font-weight:400;line-height:1.6;margin:0 0 22px;}
.tagcloud{display:flex;flex-wrap:wrap;gap:10px;}
.tagcloud span{border:1px solid var(--line);border-radius:999px;padding:8px 15px;font-size:12.5px;font-weight:400;color:#454648;}
.benefit-list{border-left:1px solid var(--line);}
.benefit-item{display:flex;gap:14px;padding:20px 0 20px 22px;border-left:3px solid transparent;margin-left:-2px;}
.benefit-item.active{border-left:3px solid var(--blue);}
.b-ico{width:36px;height:36px;border-radius:10px;background:var(--blue-dim);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:17px;}
.benefit-item h4{margin:0 0 6px;font-size:16px;font-weight:700;}
.benefit-item p{margin:0;font-size:13.5px;font-weight:400;color:var(--sub2);line-height:1.55;}

/* ===== VALUES GRID (about page) ===== */
.value-card{padding:26px;border:1px solid var(--line);border-radius:var(--radius);}
.value-card .fc-icon{margin-bottom:14px;}
.value-card h3{font-size:16.5px;font-weight:700;margin:0 0 8px;}
.value-card p{font-size:13.5px;color:var(--sub2);margin:0;line-height:1.55;}

/* ===== CTA BANNER ===== */
.cta-banner{background:var(--blue);border-radius:28px;padding:56px 40px;text-align:center;color:#FFFFFF;position:relative;overflow:hidden;}
.cta-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 100% at 50% 0%, rgba(29,129,242,.35), transparent 70%);}
.cta-banner > *{position:relative;z-index:1;}
.cta-banner h2{color:#FFFFFF;font-size:28px;font-weight:700;margin:0 0 10px;letter-spacing:-0.3px;}
.cta-banner p{color:#FFFFFF;font-size:14.5px;margin:0 0 26px;max-width:440px;margin-left:auto;margin-right:auto;}
.cta-banner .btn-dark{background:#FFFFFF;color:var(--ink);}
.cta-banner .btn-light{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.25);}

/* ===== FAQ ===== */
.faq{max-width:760px;margin:0 auto;}
.faq details{border-bottom:1px solid var(--line);padding:18px 0;}
.faq summary{cursor:pointer;font-weight:700;font-size:15px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .plus{font-size:20px;color:var(--blue);transition:transform .15s ease;flex-shrink:0;}
.faq details[open] summary .plus{transform:rotate(45deg);}
.faq p{color:var(--sub2);font-size:13.5px;line-height:1.6;margin:12px 0 0;}

/* ===== CONTACT ===== */
.contact-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:40px;align-items:start;}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;}}
.contact-form{background:var(--card);border-radius:var(--radius);padding:32px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
@media(max-width:520px){.form-row{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.field label{font-size:13px;font-weight:700;color:#454648;}
.field input,.field select,.field textarea{
  border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:14px;
  background:#FFFFFF;color:var(--ink);outline:none;transition:border-color .15s ease;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);}
.field textarea{resize:vertical;min-height:110px;}
.form-note{font-size:12px;color:var(--sub2);margin-top:6px;}
.submit-btn{width:100%;justify-content:center;padding:14px;font-size:14.5px;}
.form-success{display:none;text-align:center;padding:40px 20px;}
.form-success.show{display:block;}
.form-success .ic{width:44px;height:44px;color:#1D81F2;margin:0 auto 14px;}
.form-success h3{font-size:18px;margin:0 0 8px;}
.form-success p{color:var(--sub2);font-size:13.5px;margin:0;}

.info-card{border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:16px;}
.info-row{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);}
.info-row:last-child{border-bottom:none;}
.info-row .ic-wrap{width:38px;height:38px;border-radius:10px;background:var(--blue-dim);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.info-row strong{display:block;font-size:14px;margin-bottom:2px;}
.info-row span{font-size:13px;color:var(--sub2);}

/* ===== FOOTER ===== */
footer.site{border-top:1px solid var(--line);padding:56px 0 28px;margin-top:20px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;margin-bottom:40px;}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h5{font-size:13px;font-weight:700;margin:0 0 14px;color:var(--ink);}
.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.footer-grid a{text-decoration:none;color:var(--sub2);font-size:13.5px;}
.footer-grid a:hover{color:var(--blue);}
.footer-brand p{color:var(--sub2);font-size:13.5px;line-height:1.6;max-width:280px;margin:14px 0 0;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--line);font-size:12.5px;color:var(--sub2);flex-wrap:wrap;gap:12px;}
.social-row{display:flex;gap:10px;}
.social-row a{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--sub2);text-decoration:none;}
.social-row a:hover{color:var(--blue);border-color:var(--blue);}

/* ===== 404 ===== */
.err-page{text-align:center;padding:120px 24px;}
.err-page .code{font-family:'Poppins',sans-serif;font-size:96px;font-weight:700;color:var(--blue-dim);line-height:1;}
.err-page h1{font-size:26px;margin:6px 0 10px;}
.err-page p{color:var(--sub2);font-size:14.5px;margin:0 0 26px;}

/* ===== SECTION TINT (rhythm) ===== */
.section-tint{background:rgba(69,70,72,.05);border-radius:32px;}

/* ===== SPLIT INTRO (About/Home) ===== */
.split-intro{display:grid;grid-template-columns:1.2fr 0.8fr;gap:50px;align-items:center;}
@media(max-width:820px){.split-intro{grid-template-columns:1fr;}}
.split-intro h2{font-size:28px;font-weight:700;letter-spacing:-0.3px;margin:0 0 14px;}
.split-intro p{color:var(--sub2);font-size:14.5px;line-height:1.65;margin:0 0 12px;}
.split-visual{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.mini-badge{aspect-ratio:1;border-radius:20px;background:var(--card);display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:26px;}
.mini-badge:nth-child(2n){background:var(--blue-dim);}

/* ===== CAPABILITY LIST (Home) ===== */
.cap-list{border-top:1px solid var(--line);}
.cap-row{display:flex;align-items:center;gap:20px;padding:22px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .15s ease, padding-left .15s ease;}
.cap-row:hover{background:var(--card);padding-left:14px;border-radius:14px;}
.cap-num{font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;color:var(--sub2);width:26px;flex-shrink:0;}
.cap-icon{width:44px;height:44px;border-radius:12px;background:var(--blue-dim);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px;}
.cap-text{flex:1;display:flex;flex-direction:column;gap:3px;}
.cap-text strong{font-family:'Poppins',sans-serif;font-size:16px;font-weight:700;}
.cap-text span{font-size:13px;color:var(--sub2);}
.cap-arrow{color:var(--sub2);flex-shrink:0;transition:transform .15s ease, color .15s ease;}
.cap-row:hover .cap-arrow{color:var(--blue);transform:translateX(4px);}
@media(max-width:600px){.cap-text span{display:none;} .cap-row{gap:14px;}}

/* ===== TIMELINE (Home process) ===== */
.timeline{position:relative;max-width:720px;margin:0 auto;padding-left:10px;}
.timeline::before{content:"";position:absolute;left:19px;top:8px;bottom:8px;width:1px;background:var(--line);}
.timeline-item{position:relative;display:flex;gap:24px;padding-bottom:36px;}
.timeline-item:last-child{padding-bottom:0;}
.t-dot{width:40px;height:40px;border-radius:50%;background:#FFFFFF;border:1px solid var(--line);color:var(--blue);font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;}
.t-content h4{font-size:16px;font-weight:700;margin:6px 0 6px;}
.t-content p{font-size:13.5px;color:var(--sub2);margin:0;line-height:1.6;max-width:480px;}

/* ===== CHALLENGE LIST (Industry pages) ===== */
.challenge-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:700px){.challenge-list{grid-template-columns:1fr;}}
.challenge-list li{display:flex;gap:12px;align-items:flex-start;background:var(--card);border-radius:14px;padding:16px 18px;font-size:13.5px;color:#454648;line-height:1.5;}
.challenge-list li .ic{color:var(--blue);margin-top:2px;flex-shrink:0;}

/* ===== BLOG ===== */
.blog-grid{align-items:stretch;}
.blog-card{background:var(--card);border-radius:var(--radius);padding:24px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .15s ease, box-shadow .15s ease;}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -24px rgba(69,70,72,.3);}
.blog-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--sub2);margin-bottom:12px;}
.blog-cat{color:var(--blue);font-weight:700;}
.blog-card h3{font-size:16.5px;font-weight:700;margin:0 0 8px;line-height:1.35;}
.blog-card p{font-size:13.5px;color:var(--sub2);margin:0;line-height:1.55;}

/* ===== ARTICLE (blog post) ===== */
.article{max-width:720px;margin:0 auto;}
.article p{font-size:15px;line-height:1.8;color:#454648;margin:0 0 22px;}

/* ===== STATUS PAGE (404 / coming soon / empty state) ===== */
.status-page{text-align:center;padding:110px 24px;}
.icon-badge{width:64px;height:64px;border-radius:18px;background:var(--blue-dim);color:var(--blue);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;}
.status-page h1{font-size:28px;margin:0 0 12px;}
.status-page p{color:var(--sub2);font-size:14.5px;margin:0 0 26px;max-width:440px;margin-left:auto;margin-right:auto;line-height:1.6;}

/* ===== MISC ===== */
.mt-lg{margin-top:70px;}
.center{text-align:center;}

/* ===== RESPONSIVE TYPE ===== */
@media(max-width:600px){
  .page-hero{padding:44px 0 40px;}
  .page-hero h1{font-size:30px;line-height:1.2;}
  .section-head h2,.benefits h2,.split-intro h2{font-size:25px;}
  section{padding:48px 0;}
  .cta-banner{padding:40px 22px;border-radius:22px;}
  .cta-banner h2{font-size:23px;}
  .section-tint{border-radius:22px;}
  .btn-dark.lg,.btn-light.lg{padding:12px 20px;}
  .navcta .btn-dark{padding:10px 14px;font-size:12.5px;}
}

/* Narrow phones: keep the header row inside the viewport so the page never
   scrolls sideways (brand + CTA + menu button used to overflow ~7px at 360). */
@media(max-width:430px){
  header.site .wrap{padding-left:14px;padding-right:14px;}
  nav.mainnav{grid-template-columns:auto 1fr;column-gap:10px;}
  .brand{font-size:16px;gap:8px;}
  .navcta{gap:8px;}
  .navcta .btn-dark{padding:9px 12px;font-size:12px;}
  .menu-toggle{padding:4px;}
}

/* =====================================================================
   V3: CYBERSECURITY REDESIGN
   ===================================================================== */
:root{--navy:#1D81F2;--navy2:#1D81F2;--blue-soft:#FFFFFF;}
.accent{color:var(--blue);}
.eyebrow.caps{text-transform:uppercase;letter-spacing:.14em;font-size:11.5px;font-weight:700;}
.eyebrow.light{color:var(--blue-soft);}
.pill-label{display:inline-block;background:var(--blue-dim);color:var(--blue);border-radius:999px;padding:6px 16px;font-size:12.5px;font-weight:700;margin-bottom:20px;}
.btn-blue{background:var(--blue);color:#FFFFFF;border-radius:999px;padding:12px 22px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;white-space:nowrap;transition:background .15s ease;}
.btn-blue:hover{background:#1D81F2;}
.btn-blue.lg{padding:14px 26px;font-size:14.5px;}
.btn-ghost{background:transparent;color:#FFFFFF;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:12px 22px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.btn-ghost.lg{padding:14px 26px;font-size:14.5px;}
.btn-ghost:hover{background:rgba(255,255,255,.08);}

/* ---- bands (full-width sections) ---- */
.band{padding:88px 0;}
.band-tight{padding:40px 24px;}
.band.tint{background:rgba(69,70,72,.05);}
.band.light{background:rgba(69,70,72,.05);}
.band.dark{background:radial-gradient(60% 55% at 50% 0%,rgba(29,129,242,.32),transparent 70%),linear-gradient(180deg,#1D81F2 0%,#1D81F2 100%);color:#FFFFFF;}
.band > .wrap{padding-left:24px;padding-right:24px;}
.section-head.on-dark h2{color:#FFFFFF;}
.section-head.on-dark p{color:#FFFFFF;}
.section-head h2{font-size:34px;line-height:1.2;}
.band.dark .accent{color:var(--blue-soft);}
section.wrap.band-tight{max-width:1180px;}

/* ---- header (centered nav, tall hover areas) ---- */
nav.mainnav{padding:0;min-height:72px;}
.navlinks > a,.dropdown-trigger{padding:26px 0;}
.has-dropdown.mega-wrap{position:static;}
.dropdown{transform:translateX(-50%) translateY(6px);}
.has-dropdown:hover .dropdown,.has-dropdown.open .dropdown,.has-dropdown:focus-within .dropdown{transform:translateX(-50%) translateY(0);}
.dropdown::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;}
.dropdown.mega{width:min(1160px,calc(100vw - 48px));padding:0;display:grid;grid-template-columns:270px 1fr 310px;overflow:hidden;top:100%;border-radius:0 0 18px 18px;border-top:2px solid var(--blue);}
.dropdown.mega a{padding:0;border-radius:0;}
.dropdown.mega a:hover{background:none;}
.mm-left{background:rgba(69,70,72,.05);padding:14px 0;}
.dropdown.mega .mm-cat{display:flex;align-items:center;gap:12px;padding:13px 22px;font-size:13.5px;font-weight:400;color:var(--ink);border-left:3px solid transparent;}
.dropdown.mega .mm-cat .ic{color:var(--blue);font-size:17px;}
.dropdown.mega .mm-cat.active{background:#FFFFFF;border-left-color:var(--blue);color:var(--blue);}
.mm-mid{padding:28px 32px;min-height:400px;}
.mm-panel{display:none;}
.mm-panel.active{display:block;}
.mm-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;}
.dropdown.mega .mm-grid a{display:block;}
.dropdown.mega .mm-grid a:hover strong{color:var(--blue);}
.dropdown.mega .mm-grid strong{font-size:13.5px;margin-bottom:4px;}
.dropdown.mega .mm-grid span{font-size:12px;line-height:1.5;display:block;}
.mm-right{background:rgba(69,70,72,.05);border-left:1px solid var(--line);padding:26px;}
.mm-promo{display:none;}
.mm-promo.active{display:block;}
.mm-tile{height:112px;border-radius:14px;background:linear-gradient(135deg,#1D81F2,#1D81F2);display:flex;align-items:center;justify-content:center;color:#FFFFFF;font-size:36px;margin-bottom:20px;}
.mm-promo h5{font-family:'Poppins',sans-serif;font-size:17px;font-weight:700;margin:0 0 8px;line-height:1.3;}
.mm-promo p{font-size:13px;color:var(--sub);line-height:1.6;margin:0 0 16px;}
.dropdown.mega a.mm-link{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:700;font-size:13px;}
.dropdown.wide{width:640px;}
.dropdown.wide .dropdown-grid a{padding:12px;}

/* ---- home hero refinements ---- */
.page-hero h1 .accent{color:var(--blue);}
.page-hero .eyebrow.caps{margin-bottom:12px;}

/* ---- service cards (home / overview) ---- */
.svc-grid{align-items:stretch;}
.svc-card{background:#FFFFFF;border:1px solid var(--line);border-radius:18px;padding:24px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;box-shadow:0 10px 30px -22px rgba(69,70,72,.18);}
.svc-card:hover{transform:translateY(-3px);border-color:#1D81F2;box-shadow:0 22px 40px -24px rgba(69,70,72,.18);}
.svc-card .ico{width:42px;height:42px;border-radius:12px;background:var(--blue-dim);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px;}
.svc-card h3{font-size:16px;font-weight:700;margin:0 0 8px;line-height:1.3;}
.svc-card p{font-size:13px;color:var(--sub);margin:0 0 14px;line-height:1.55;}
.svc-card ul{list-style:none;margin:auto 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px;}
.svc-card li{font-size:12.5px;color:#454648;padding-left:16px;position:relative;}
.svc-card li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--blue);opacity:.55;}

/* ---- dark cards ---- */
.dark-card{background:linear-gradient(160deg,rgba(69,70,72,.22),rgba(69,70,72,.08));border:1px solid rgba(69,70,72,.38);border-radius:18px;padding:26px;text-decoration:none;color:#FFFFFF;display:flex;flex-direction:column;transition:background .15s ease,transform .15s ease,border-color .15s ease;}
a.dark-card:hover{background:linear-gradient(160deg,rgba(69,70,72,.32),rgba(69,70,72,.14));transform:translateY(-3px);border-color:rgba(255,255,255,.65);}
.dark-card .ico{width:42px;height:42px;border-radius:12px;background:rgba(69,70,72,.38);color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:18px;}
.dark-card h3{font-size:16px;font-weight:700;margin:0 0 8px;line-height:1.3;color:#FFFFFF;}
.dark-card p{font-size:13.5px;color:#FFFFFF;margin:0 0 16px;line-height:1.6;}
.dark-card.static p{margin-bottom:0;}
.dlink{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--blue);margin-top:auto;}
.dark-card .dlink{color:var(--blue-soft);}
.dark-items .eng-card{background:linear-gradient(160deg,rgba(69,70,72,.22),rgba(69,70,72,.08));border-color:rgba(69,70,72,.38);color:#FFFFFF;}
.dark-items .eng-card h3{color:#FFFFFF;}
.dark-items .eng-card p{color:#FFFFFF;}
.dark-items .eng-card .dlink{color:var(--blue-soft);}
.dark-items a.eng-card:hover{background:linear-gradient(160deg,rgba(69,70,72,.32),rgba(69,70,72,.14));border-color:rgba(255,255,255,.65);}

/* ---- engagement / item / industry cards ---- */
.eng-card{background:#FFFFFF;border:1px solid var(--line);border-radius:16px;padding:22px 24px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
a.eng-card:hover{transform:translateY(-3px);border-color:#1D81F2;box-shadow:0 20px 38px -24px rgba(69,70,72,.18);}
.eng-card.big{border-top:3px solid var(--blue);}
.eng-tag{font-size:10.5px;letter-spacing:.12em;font-weight:700;color:var(--blue);}
.eng-card h3{font-size:16px;font-weight:700;margin:0;line-height:1.3;}
.eng-card p{font-size:13px;color:var(--sub);margin:0 0 6px;line-height:1.6;}
.ind-grid{align-items:stretch;}
.ind-card{background:#FFFFFF;border:1px solid var(--line);border-radius:16px;padding:22px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;}
.ind-card:hover{transform:translateY(-3px);border-color:#1D81F2;box-shadow:0 20px 38px -24px rgba(69,70,72,.18);}
.ind-card .ico-sm{width:38px;height:38px;border-radius:11px;background:var(--blue-dim);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:6px;}
.ind-card h3{font-size:15px;font-weight:700;margin:0;}
.ind-card p{font-size:12.5px;color:var(--sub);margin:0 0 8px;line-height:1.55;}

/* ---- numbered columns ---- */
.num-cols{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(69,70,72,.15);border-radius:20px;background:#FFFFFF;overflow:hidden;}
.num-col{padding:30px 26px;position:relative;border-right:1px solid rgba(69,70,72,.15);}
.num-col:last-child{border-right:none;}
.num-col .big{position:absolute;top:14px;right:18px;font-family:'Poppins',sans-serif;font-size:54px;font-weight:700;color:rgba(29,129,242,.09);line-height:1;}
.num-col h3{font-size:16px;font-weight:700;margin:38px 0 8px;}
.num-col p{font-size:13px;color:var(--sub);margin:0;line-height:1.6;}
@media(max-width:900px){.num-cols{grid-template-columns:1fr 1fr;}.num-col:nth-child(2){border-right:none;}.num-col{border-bottom:1px solid rgba(69,70,72,.15);}}
@media(max-width:560px){.num-cols{grid-template-columns:1fr;}.num-col{border-right:none;}}

/* ---- incident response band ---- */
.ir-band{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;background:radial-gradient(70% 90% at 90% 30%,rgba(29,129,242,.5),transparent 65%),linear-gradient(135deg,#1D81F2,#1D81F2);border-radius:28px;padding:56px 56px;color:#FFFFFF;overflow:hidden;}
.ir-copy h2{font-size:30px;font-weight:700;color:#FFFFFF;margin:8px 0 14px;line-height:1.2;}
.ir-copy p{color:#FFFFFF;font-size:14.5px;line-height:1.7;margin:0 0 26px;max-width:480px;}
.ir-graphic{position:relative;height:260px;display:flex;align-items:center;justify-content:center;}
.ir-graphic .ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.35);}
.ir-graphic .r1{width:110px;height:110px;}.ir-graphic .r2{width:190px;height:190px;border-color:rgba(255,255,255,.25);}.ir-graphic .r3{width:270px;height:270px;border-color:rgba(255,255,255,.15);}
.ir-graphic .core{width:72px;height:72px;border-radius:20px;background:var(--blue);color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-size:32px;position:relative;box-shadow:0 0 0 10px rgba(29,129,242,.2),0 0 60px rgba(29,129,242,.6);}
.ir-graphic .blip{position:absolute;width:9px;height:9px;border-radius:50%;background:#FFFFFF;box-shadow:0 0 12px #FFFFFF;animation:blip 3s ease-in-out infinite;}
.ir-graphic .b1{top:36px;left:22%;}.ir-graphic .b2{bottom:44px;right:20%;animation-delay:1s;}.ir-graphic .b3{top:90px;right:12%;animation-delay:2s;}
@keyframes blip{0%,100%{opacity:.25;transform:scale(.8);}50%{opacity:1;transform:scale(1.2);}}
@media(prefers-reduced-motion:reduce){.ir-graphic .blip{animation:none;}}
@media(max-width:820px){.ir-band{grid-template-columns:1fr;padding:38px 26px;}.ir-graphic{height:200px;}}

/* ---- blog thumbs ---- */
.blog-card{padding:0;overflow:hidden;background:#FFFFFF;border:1px solid var(--line);}
.blog-thumb{height:150px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.92);font-size:44px;}
.blog-thumb.t1{background:radial-gradient(60% 90% at 80% 10%,rgba(255,255,255,.18),transparent 60%),linear-gradient(135deg,#1D81F2,#1D81F2);}
.blog-thumb.t2{background:radial-gradient(60% 90% at 20% 10%,rgba(255,255,255,.14),transparent 60%),linear-gradient(135deg,#1D81F2,#1D81F2);}
.blog-thumb.t3{background:radial-gradient(60% 90% at 70% 0%,rgba(255,255,255,.2),transparent 60%),linear-gradient(135deg,#1D81F2,#1D81F2);}
.blog-thumb.t4{background:radial-gradient(60% 90% at 30% 0%,rgba(255,255,255,.14),transparent 60%),linear-gradient(135deg,#1D81F2,#1D81F2);}
.blog-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;}
.blog-card h3{font-size:16px;}
.blog-card .dlink{margin-top:auto;padding-top:14px;}

/* ---- dark service hero + quote card ---- */
.hero-dark{background:radial-gradient(60% 80% at 85% 20%,rgba(29,129,242,.55),transparent 60%),radial-gradient(50% 60% at 0% 100%,rgba(29,129,242,.25),transparent 70%),linear-gradient(135deg,#1D81F2 0%,#1D81F2 55%,#1D81F2 100%);color:#FFFFFF;position:relative;overflow:hidden;}
.hero-dark::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(90deg,#454648,transparent 70%);mask-image:linear-gradient(90deg,#454648,transparent 70%);pointer-events:none;}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-top:56px;padding-bottom:72px;}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:36px;padding-top:36px;padding-bottom:48px;}}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:#FFFFFF;margin-bottom:26px;}
.crumbs a{color:#FFFFFF;text-decoration:none;}.crumbs a:hover{color:#FFFFFF;}.crumbs em{font-style:normal;opacity:.6;}.crumbs span{color:#FFFFFF;}
.hero-label{display:inline-flex;align-items:center;gap:8px;background:rgba(29,129,242,.25);color:#FFFFFF;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:700;margin-bottom:18px;}
.hero-copy h1{font-size:46px;line-height:1.12;letter-spacing:-.8px;font-weight:700;margin:0 0 20px;color:#FFFFFF;}
.hero-copy h1 .accent{color:var(--blue-soft);}
.hero-copy > p{font-size:16px;line-height:1.7;color:#FFFFFF;margin:0 0 28px;max-width:560px;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px;}
.hero-checks{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:#FFFFFF;font-weight:400;}
.hero-checks span{display:inline-flex;align-items:center;gap:7px;}.hero-checks .ic{color:var(--blue-soft);font-size:16px;}
.quote-card{background:#FFFFFF;color:var(--ink);border-radius:22px;padding:30px;box-shadow:0 40px 80px -40px rgba(69,70,72,.3);}
.quote-card h3{font-size:20px;font-weight:700;margin:0 0 8px;line-height:1.25;}
.qc-sub{font-size:13px;color:var(--sub);line-height:1.6;margin:0 0 20px;}
.quote-card .form-row{margin-bottom:0;}
.quote-card .field{margin-bottom:12px;}
.quote-card .submit-btn{margin-top:4px;}
@media(max-width:600px){.hero-copy h1{font-size:32px;}.quote-card{padding:24px;}}

/* ---- cover list, split, directory ---- */
.split-2{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start;}
@media(max-width:860px){.split-2{grid-template-columns:1fr;gap:28px;}}
.cover-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.cover-list li{display:flex;gap:14px;align-items:flex-start;background:rgba(69,70,72,.05);border:1px solid rgba(69,70,72,.15);border-radius:14px;padding:16px 18px;font-size:14px;color:#454648;line-height:1.5;}
.cover-list .ic{color:var(--blue);font-size:19px;margin-top:1px;}
.dir-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 28px;}
@media(max-width:980px){.dir-grid{grid-template-columns:repeat(2,1fr);}}@media(max-width:560px){.dir-grid{grid-template-columns:1fr;}}
.dir-col h3{font-size:14.5px;margin:0 0 14px;}
.dir-col h3 a{color:#FFFFFF;text-decoration:none;display:flex;align-items:center;gap:9px;}.dir-col h3 .ic{color:var(--blue-soft);font-size:18px;}
.dir-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.dir-col li a{color:#FFFFFF;text-decoration:none;font-size:13px;}.dir-col li a:hover{color:#FFFFFF;}
.challenge-list li{background:rgba(69,70,72,.05);border:1px solid rgba(69,70,72,.15);}

/* =====================================================================
   FOOTER: gradient with oversized watermark
   ===================================================================== */
footer.site{--blue:#0466FF;--blue-dim:rgba(4,102,255,.1);--blue-dim2:rgba(4,102,255,.06);--blue-soft:#6aa8ff;--ink:#12131a;--sub:#6b7280;--sub2:#8b909b;--line:#ececef;--card:#f4f5f7;--white:#ffffff;}

footer.site{position:relative;overflow:hidden;margin-top:70px;padding:0;border:0;color:#fff;
  background:linear-gradient(180deg,#FFFFFF 0,#e3edff 50px,#5b95ff 130px,#1b5fe8 210px,#0a3fb8 330px,#05205f 490px,#020a24 700px,#01030b 100%);}
footer.site .footer-inner{position:relative;z-index:2;padding-top:210px;}
footer.site .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:44px;margin:0;}
@media(max-width:900px){footer.site .footer-grid{grid-template-columns:1fr 1fr;}footer.site .footer-inner{padding-top:170px;}}
@media(max-width:520px){footer.site .footer-grid{grid-template-columns:1fr;}}
footer.site .footer-grid h5{color:#fff;font-size:13px;font-weight:700;margin:0 0 16px;letter-spacing:.02em;}
footer.site .footer-grid a{color:rgba(255,255,255,.74);font-size:13px;text-decoration:none;}
footer.site .footer-grid a:hover{color:#fff;}
footer.site .footer-grid ul{gap:11px;}
footer.site .brand{color:#fff;}
footer.site .footer-brand p{color:rgba(255,255,255,.78);font-size:13.5px;line-height:1.65;max-width:300px;margin:16px 0 0;}
footer.site .footer-copy{margin-top:26px;font-size:12.5px;line-height:1.9;color:rgba(255,255,255,.65);}
footer.site .footer-copy a{color:rgba(255,255,255,.75);font-size:12.5px;}
/* social icons — LinkedIn + Instagram, sit between the brand text and the copyright */
footer.site .footer-social{display:flex;gap:10px;margin-top:20px;}
footer.site .footer-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.24);color:rgba(255,255,255,.88);transition:border-color .2s ease,background-color .2s ease,color .2s ease;}
footer.site .footer-social a:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.1);}
footer.site .footer-social .ic{width:17px;height:17px;stroke-width:1.7;}
.footer-mark{position:relative;z-index:1;height:clamp(140px,23vw,300px);margin-top:20px;overflow:hidden;pointer-events:none;}
.footer-mark img{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:clamp(170px,30vw,400px);width:auto;max-width:none;user-select:none;}

/* ---- misc responsive ---- */
@media(max-width:600px){
  .band{padding:56px 0;}
  .section-head h2{font-size:25px;}
  .dropdown.mega{display:none;}
}

/* =====================================================================
   V4 UPDATE: slim header, coming-soon page, careers empty-state card
   (footer styles are untouched above this line)
   ===================================================================== */

/* ---- slim header ---- */
nav.mainnav{min-height:58px;}
.navlinks > a,.dropdown-trigger{padding:18px 0;}

/* ---- coming soon (Products) ---- */
.soon-hero{min-height:calc(100vh - 58px);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  background:radial-gradient(55% 60% at 18% 15%,rgba(29,129,242,.28),transparent 60%),radial-gradient(55% 60% at 85% 85%,rgba(29,129,242,.18),transparent 60%),linear-gradient(160deg,#1D81F2 0%,#1D81F2 55%,#1D81F2 100%);}
.soon-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:30px 30px;
  -webkit-mask-image:radial-gradient(60% 60% at 50% 40%,#454648,transparent 75%);mask-image:radial-gradient(60% 60% at 50% 40%,#454648,transparent 75%);}
.soon-inner{position:relative;z-index:1;text-align:center;padding:80px 24px;max-width:560px;}
.soon-spark{color:#FFFFFF;width:34px;height:34px;margin:0 auto 26px;}
.soon-spark .ic{width:100%;height:100%;}
.soon-hero h1{color:#FFFFFF;font-size:44px;font-weight:700;margin:0 0 14px;letter-spacing:-0.5px;}
.soon-hero > .wrap > p,.soon-inner > p{color:#FFFFFF;font-size:15px;line-height:1.7;margin:0 0 34px;}
.soon-form{display:flex;gap:10px;max-width:420px;margin:0 auto;}
.soon-form input{flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:13px 20px;font-size:14px;color:#FFFFFF;outline:none;}
.soon-form input::placeholder{color:#FFFFFF;}
.soon-form input:focus{border-color:var(--blue-soft);}
.soon-form .btn-blue{white-space:nowrap;padding:13px 24px;}
.soon-success{display:none;}
.soon-success.show{display:block;}
.soon-success .ic{width:40px;height:40px;color:#FFFFFF;}
.soon-success h3{color:#FFFFFF;font-size:17px;}
.soon-success p{color:#FFFFFF;font-size:13.5px;}
@media(max-width:600px){.soon-hero h1{font-size:34px;}.soon-form{flex-direction:column;}}

/* ---- careers hero + empty-state card ---- */
.careers-hero{padding-top:56px;padding-bottom:64px;max-width:720px;}
.careers-hero h1{font-size:42px;}
.careers-hero > p{font-size:15.5px;color:#FFFFFF;line-height:1.7;max-width:560px;margin:0;}
.empty-card{max-width:560px;margin:0 auto;text-align:center;border:1px solid var(--line);border-radius:24px;padding:52px 40px;background:rgba(69,70,72,.05);}
.empty-card h3{font-size:19px;font-weight:700;margin:0 0 12px;}
.empty-card p{font-size:14px;color:var(--sub2);line-height:1.7;margin:0 0 26px;}

/* =====================================================================
   DESIGN SYSTEM: contrast fixes on electric-blue surfaces
   ===================================================================== */
.hero-btns .btn-blue,.ir-band .btn-blue,.soon-form .btn-blue{background:#FFFFFF;color:#1D81F2;}
.hero-btns .btn-blue:hover,.ir-band .btn-blue:hover,.soon-form .btn-blue:hover{background:#454648;color:#FFFFFF;}
.hero-dark .accent{color:#FFFFFF;}
.brand svg,.brand svg use{fill:#1D81F2;}

/* =====================================================================
   FOOTER: pages whose last section is full-bleed electric blue.
   The 70px cream gap and the cream top of the gradient are dropped so
   the blue section flows straight into the footer and deepens smoothly
   into the original footer stops (identical from #1b5fe8 downward).
   ===================================================================== */
footer.site.on-blue{margin-top:0;background:linear-gradient(180deg,#1D81F2 0,#1b5fe8 210px,#0a3fb8 330px,#05205f 490px,#020a24 700px,#01030b 100%);}

/* =====================================================================
   LANDING HERO: stronger blue glow (index.html only, .hero-glow).
   Two layered radial blooms + a deeper wash so the blue reads clearly,
   but the falloff ends above the sub-line so body copy stays on cream.
   Dots in ::before are lifted from .13 to .20 as well.
   ===================================================================== */
.hero-glow{background-image:
    radial-gradient(56% 62% at 50% 0%, rgba(29,129,242,.44), rgba(29,129,242,0) 80%),
    radial-gradient(95% 100% at 50% -10%, rgba(29,129,242,.26), rgba(29,129,242,0) 70%),
    linear-gradient(180deg, rgba(29,129,242,.16), rgba(255,255,255,0) 50%);
}
.hero-glow::before{background-image:radial-gradient(rgba(29,129,242,.2) 1px, transparent 1px);}

/* =====================================================================
   LANDING HERO: constellation mesh canvas (index.html only)
   Purely decorative layer behind the copy - the veil sits at z-index:-1 so
   the headline, buttons and sticky header all sit above it, neither element
   ever receives pointer events, and two nested masks fade every edge so the
   network can never show a cut: .hero-mesh-veil fades top/bottom,
   .hero-mesh fades right (the 6% edge band) and left (wide, so the
   headline side stays clear).
   ===================================================================== */
.hero-mesh-veil{position:absolute;top:0;left:0;width:100%;height:100%;
  z-index:-1;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.2) 6%, #000 14%, #000 86%, rgba(0,0,0,.2) 94%, rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.2) 6%, #000 14%, #000 86%, rgba(0,0,0,.2) 94%, rgba(0,0,0,0) 100%);
  -webkit-mask-size:100% 100%;mask-size:100% 100%;}
.hero-mesh{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;
  -webkit-mask-image:linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,.25) 2%, #000 6%, rgba(0,0,0,.78) 34%, rgba(0,0,0,.3) 60%, rgba(0,0,0,0) 82%);
  mask-image:linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,.25) 2%, #000 6%, rgba(0,0,0,.78) 34%, rgba(0,0,0,.3) 60%, rgba(0,0,0,0) 82%);
  -webkit-mask-size:100% 100%;mask-size:100% 100%;}

