body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 24% 28%, rgba(229,59,59,0.045), transparent 40%),
    radial-gradient(circle at 78% 68%, rgba(255,255,255,0.04), transparent 42%);
  z-index:-2;
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.022) 1px, transparent 1px);
  background-size:40px 40px;
  opacity:.5;
  z-index:-1;
}

.hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.hero::after{
  content:"";
  position:absolute;
  width:600px;
  height:600px;
  background:radial-gradient(circle, rgba(229,59,59,0.20), transparent 60%);
  top:-200px;
  right:-200px;
  filter:blur(60px);
  animation:floatGlow 8s ease-in-out infinite;
  z-index:0;
}

.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  /* opacity:.24; */
  filter:blur(1px) saturate(.92) contrast(1.02);
  pointer-events:none;
  z-index:-3;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(15,23,42,0.66), rgba(15,23,42,0.8)),
    radial-gradient(circle at 80% 20%, rgba(229,59,59,.13), transparent 40%),
    radial-gradient(circle at 0% 80%, rgba(255,255,255,.05), transparent 42%);
  z-index:-2;
}

.hero .container{
  position:relative;
  z-index:1;
}

.hero-copy{
  max-width:820px;
}

.hero-title{
  font-size:clamp(2.5rem, 8vw, 5.4rem);
  line-height:.98;
  letter-spacing:-1.8px;
  margin:0 0 24px;
  text-shadow:0 10px 30px rgba(0,0,0,.28);
}

.hero-rotator-wrap{
  display:block;
  min-height:1.08em;
}

.hero-rotating-word{
  display:inline-block;
  color:#c43d3d;
  text-shadow:0 0 18px rgba(229,59,59,.24);
  transition:opacity .24s ease, transform .24s ease;
}

.hero-rotating-word.is-switching{
  opacity:.05;
  transform:translateY(10px);
}

.hero p{
  font-size:clamp(1rem, 2vw, 1.08rem);
  max-width:600px;
  color:#dbe4f0;
  line-height:1.9;
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:26px;
}

@keyframes floatGlow{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(40px)}
}

.card{
  position:relative;
  overflow:hidden;
}

.card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,0.04), transparent);
  opacity:0;
  transition:.22s ease;
  pointer-events:none;
}

.card:hover::before{
  opacity:.45;
}

.btn{
  position:relative;
  overflow:hidden;
}

.btn::after{
  content:"";
  position:absolute;
  width:120%;
  height:100%;
  left:-120%;
  top:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  transition:.5s;
}

.btn:hover::after{
  left:120%;
}

.btn.tertiary::after{
  display:none;
}

.divider{
  position:relative;
}

.divider::after{
  content:none;
}


:root{
  --bg:#101826;
  --panel:#182231;
  --panel-2:#1e293b;
  --border:#314155;
  --text:#f8fafc;
  --muted:#b2bfd0;
  --accent:#e53b3b;
  --eyebrow:#ff8c8c;
  --accent-soft:rgba(229,59,59,.10);
  --space-sm:16px;
  --space-md:24px;
  --space-lg:32px;
  --space-section:64px;
  --space-section-mobile:52px;
  --section-pad:var(--space-section);
  --section-rule:rgba(255,255,255,.05);
  --card-radius:18px;
  --card-padding:24px;
  --card-border:rgba(255,255,255,.08);
  --card-bg:linear-gradient(180deg, rgba(30,41,58,.92), rgba(22,31,46,.92));
  --card-shadow:0 12px 30px rgba(0,0,0,.18);
  --card-hover-shadow:0 18px 36px rgba(0,0,0,.22);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:'Poppins',system-ui,Arial;
  background:
    linear-gradient(180deg, rgba(18,27,41,.2), rgba(18,27,41,.2)),
    var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}

.container{max-width:1200px;margin:auto;padding:0 20px}

header,footer{background:rgba(12,19,32,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
footer{background:rgba(13,21,34,.78);border-top:1px solid rgba(255,255,255,.08);border-bottom:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
header{position:relative;z-index:50}
.header-shell{display:flex;justify-content:space-between;align-items:center;padding:20px 0}
.header-brand{display:flex;align-items:center;gap:12px}
.header-brand-link{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.header-brand-text{
  font-family:'Outfit',sans-serif;
  font-weight:700;
  letter-spacing:.05em;
  color:#f8fafc;
  line-height:1;
}
footer a{color:#d6deea;text-decoration:none}
footer a:hover{color:var(--text)}

nav{display:flex;gap:28px;align-items:center}
nav a{color:var(--text);text-decoration:none;font-size:16px;position:relative}
nav a:hover{color:var(--muted)}
nav a.active::after{content:"";position:absolute;bottom:-6px;left:0;width:100%;height:2px;background:var(--accent)}

.nav-dropdown{
  position:relative;
}

.nav-dropdown-menu{
  position:absolute;
  top:100%;
  left:0;
  min-width:360px;
  display:grid;
  gap:4px;
  padding:10px;
  background:rgba(18,27,40,.98);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:0 20px 40px rgba(0,0,0,.30);
  opacity:0;
  pointer-events:none;
  transform:translateY(6px);
  transition:.2s ease;
}

.nav-dropdown-menu a{
  font-size:15px;
  padding:10px 12px;
  border-radius:9px;
  white-space:nowrap;
}

.nav-dropdown-menu a:hover{
  background:rgba(229,59,59,.08);
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

.nav-toggle{
  display:none;
  width:42px;
  height:42px;
  border:1px solid var(--border);
  background:#162132;
  border-radius:10px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}

.nav-toggle span{
  width:18px;
  height:2px;
  border-radius:2px;
  background:#fff;
}

.hero{padding:80px 0 128px;background:
radial-gradient(circle at 80% 20%,rgba(229,59,59,.16),transparent 40%),
radial-gradient(circle at 0% 80%,rgba(255,255,255,.06),transparent 40%)}

h1{font-family:'Outfit',sans-serif;font-size:56px;line-height:1.05;margin-bottom:20px;font-weight:800;letter-spacing:-1.5px}
h2{font-family:'Outfit',sans-serif;font-size:34px;font-weight:700;letter-spacing:-0.5px}
h3{font-family:'Outfit',sans-serif;font-size:20px}
p{color:var(--muted);line-height:1.75}

.btn{background:var(--accent);padding:14px 24px;border-radius:12px;color:#fff;text-decoration:none;font-weight:600;display:inline-block;transition:.2s;border:1px solid transparent;box-shadow:0 12px 28px rgba(229,59,59,.16)}
.btn.secondary{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.14);color:var(--text);box-shadow:none}
.btn.tertiary{padding:12px 0;color:#d6deea;background:transparent;border:none;border-radius:0;box-shadow:none;font-weight:500}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(229,59,59,.2)}
.btn.secondary:hover{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.05);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.btn.tertiary:hover{transform:none;box-shadow:none;color:var(--text)}

.grid{display:grid;gap:var(--space-md)}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.benefits-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.card,
.stat-card,
.value-card,
.kpi,
.feature-panel,
.feature-list div{
  position:relative;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:var(--card-radius);
  box-shadow:var(--card-shadow);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.card{
  padding:var(--card-padding);
}

.card:hover,
.stat-card:hover,
.value-card:hover,
.kpi:hover,
.feature-panel:hover,
.feature-list div:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.14);
  box-shadow:var(--card-hover-shadow);
}

.section{padding:var(--section-pad) 0;position:relative}

.divider{
  height:1px;
  background:linear-gradient(to right,transparent,rgba(255,255,255,.06),transparent);
  margin:40px 0;
}

.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--eyebrow);text-transform:uppercase;margin-bottom:10px}

.fade-in{opacity:0;transform:translateY(20px);transition:.6s}
.fade-in.visible{opacity:1;transform:none}

.page-hero{
  padding:64px 0 24px;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.page-hero h1,
.cta-band h3{
  margin-top:0;
}

.page-hero .lead{
  max-width:42rem;
}

.partnership-hero-actions{
  margin-top:22px;
}

.lead{
  max-width:760px;
  font-size:1.08rem;
}

.hero-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin-top:24px;
}

.stat-card{
  background:linear-gradient(180deg, rgba(31,42,58,.84), rgba(19,27,40,.84));
  padding:22px 20px;
  min-height:168px;
}

.benefit-icon-wrap{
  width:65px;
  height:65px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto var(--space-sm);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:var(--eyebrow);
}

.benefit-icon{
  width:36px;
  height:36px;
  display:block;
  opacity:.85;
  stroke-width:2;
}

.stat-card strong{
  display:block;
  font-family:'Outfit',sans-serif;
  font-size:1.2rem;
  line-height:1.25;
  color:#fff;
  margin-bottom:10px;
}

.stat-card span{
  color:#d6deea;
  font-size:.95rem;
  line-height:1.65;
}

.section-band{
  background:linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.006));
  border-top:1px solid rgba(255,255,255,.025);
  border-bottom:1px solid rgba(255,255,255,.025);
  position:relative;
}

.value-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
}

.value-card{
  padding:26px;
}

.value-card-mark{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:rgba(214,222,234,.5);
  font-family:'Outfit',sans-serif;
  font-weight:500;
  font-size:.88rem;
  margin-bottom:18px;
}

.value-card h3{
  margin:0 0 12px;
}

.value-card p,
.service-card p,
.kpi span,
.feature-list div,
.stat-card span{
  line-height:1.65;
}

.feature-slab{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(280px, .85fr);
  gap:var(--space-md);
  align-items:stretch;
}

.feature-panel{
  padding:30px;
  background:
    linear-gradient(140deg, rgba(229,59,59,.12), rgba(255,255,255,.03)),
    linear-gradient(180deg, #223045, #182231);
}

.feature-list{
  display:grid;
  gap:var(--space-sm);
  margin-top:0;
  align-content:start;
}

.feature-list div{
  padding:18px 18px;
  color:#dbe4f0;
  min-height:78px;
  display:flex;
  align-items:center;
}

.info-list{
  margin:16px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:var(--space-sm);
}

.info-list li{
  position:relative;
  padding-left:20px;
  color:#d6deea;
}

.info-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 14px rgba(229,59,59,.6);
}

.kpi-row{
  display:grid;
  gap:var(--space-md);
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}

.kpi{
  padding:22px 20px;
  min-height:170px;
}

.kpi strong{
  display:block;
  font-family:'Outfit',sans-serif;
  font-size:1.2rem;
  line-height:1.3;
  color:var(--text);
  margin-bottom:10px;
}

.kpi span{
  color:var(--muted);
  font-size:1rem;
  line-height:1.65;
}

.split{
  display:grid;
  gap:var(--space-md);
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  align-items:start;
}

.cta-band{
  margin-top:var(--space-sm);
  padding:30px;
  border:1px solid rgba(229,59,59,.4);
  border-radius:20px;
  background:linear-gradient(135deg, rgba(229,59,59,.22), rgba(255,255,255,.06));
  box-shadow:0 20px 46px rgba(0,0,0,.24);
}

.cta-band p{
  margin:0 0 14px;
}

.capabilities-callout{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(260px, .8fr);
  gap:var(--space-md);
  align-items:center;
  padding:30px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  background:
    linear-gradient(135deg, rgba(229,59,59,.18), rgba(255,255,255,.04)),
    linear-gradient(180deg, rgba(24,34,49,.96), rgba(16,24,38,.96));
  box-shadow:0 20px 46px rgba(0,0,0,.2);
}

.capabilities-callout h2{
  margin:0 0 12px;
}

.capabilities-copy p{
  margin:0;
  max-width:42rem;
}

.capabilities-actions{
  display:grid;
  gap:12px;
  justify-items:start;
}

.capabilities-actions .btn{
  width:100%;
  text-align:center;
}

.capabilities-actions .btn.tertiary{
  width:auto;
  padding-top:0;
}

.service-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:var(--space-lg);
  align-items:stretch;
}

.service-card h3{
  margin:0 0 12px;
}

.service-card p{
  margin:0 0 20px;
  max-width:30ch;
}

.service-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.service-card .info-list{
  margin-top:0;
  margin-bottom:20px;
  flex:1;
}

.service-card > p:last-child{
  margin-top:auto;
}

.service-top{
  margin-bottom:var(--space-md);
}

.section-inline-cta{
  padding-top:var(--space-sm);
  padding-bottom:var(--space-sm);
}

.inline-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-sm);
  padding:16px 20px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
}

.inline-cta h3{
  margin:0;
  font-size:1.12rem;
}

.jobs-embed-section{
  padding-top:32px;
}

.jobs-embed-shell{
  position:relative;
  padding:clamp(18px, 2vw, 30px);
  border:1px solid rgba(255,255,255,.18);
  border-radius:26px;
  background:
    linear-gradient(rgba(16,24,38,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,24,38,.018) 1px, transparent 1px),
    linear-gradient(180deg, rgba(243,246,250,.98), rgba(233,238,244,.98));
  background-size:72px 72px, 72px 72px, auto;
  box-shadow:0 22px 50px rgba(0,0,0,.14);
  overflow:hidden;
}

.jobs-embed-shell::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,0));
  pointer-events:none;
}

.jobs-embed-shell #rr-job-board{
  position:relative;
  z-index:1;
  color:#111827;
}

.service-card .btn.secondary{
  padding:10px 14px;
  border-radius:10px;
  font-size:.92rem;
  background:rgba(255,255,255,.02);
  border-color:rgba(255,255,255,.1);
  box-shadow:none;
}

.service-card .btn.secondary::after{
  display:none;
}

.service-card .btn.secondary:hover{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.16);
  box-shadow:none;
}

body .services-section + .section::before{
  content:"";
  position:absolute;
  top:0;
  left:20px;
  right:20px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.045), transparent);
}

.service-detail h2{
  margin:8px 0 12px;
}

.form-field{
  width:100%;
  margin-bottom:12px;
  padding:14px;
  background:#162132;
  border:1px solid var(--border);
  color:var(--text);
  border-radius:10px;
}

.form-field::placeholder{
  color:rgba(214, 222, 234, .62);
}

.form-field:focus{
  outline:none;
  border-color:rgba(229,59,59,.6);
  box-shadow:0 0 0 3px rgba(229,59,59,.12);
}

.contact-form button[disabled]{
  opacity:.72;
  cursor:progress;
}

.form-status{
  min-height:1.5em;
  margin:4px 0 14px;
  font-size:.95rem;
  color:var(--muted);
}

.form-status.is-success{
  color:#8de1b5;
}

.form-status.is-error{
  color:#ff9d9d;
}

/* ===== LOGO POLISH + HEADER BRANDING ===== */

header img{
  height:42px;
  filter:drop-shadow(0 0 8px rgba(229,59,59,0.25));
  transition:.3s ease;
}

header img:hover{
  filter:drop-shadow(0 0 16px rgba(229,59,59,0.45));
}

header span{
  color:#d6deea;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:0.12em;
  opacity:.9;
}

.section + .section::before,
.section + .section-band::before,
.section-band + .section::before,
.divider + .section::before,
.divider + .section-band::before{
  content:"";
  position:absolute;
  top:0;
  left:20px;
  right:20px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.045), transparent);
}

.service-top .lead,
.split > :first-child p,
.grid-2 > :first-child p,
.feature-panel p{
  max-width:38rem;
}

.card h3,
.value-card h3{
  margin-top:0;
}

.card p:last-child,
.value-card p:last-child,
.feature-panel p:last-child,
.cta-band p:last-child{
  margin-bottom:0;
}

footer .grid{
  gap:var(--space-lg);
}

.footer-shell{
  padding:44px 0;
}

.footer-credentials{
  margin-top:18px;
  display:grid;
  gap:6px;
}

.footer-credentials p{
  margin:0;
  font-size:.95rem;
  color:#c3cede;
}

.social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.03);
}

.social-link svg{
  width:18px;
  height:18px;
  fill:currentColor;
}

@media (max-width:1040px){
  .benefits-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:760px){
  .container{
    padding:0 16px;
  }

  .header-shell{
    padding:14px 0;
    position:relative;
  }

  .nav-toggle{
    display:flex;
  }

  nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    padding:12px;
    background:rgba(12,19,32,.98);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    box-shadow:0 16px 30px rgba(0,0,0,.3);
  }

  header.nav-open nav{
    display:flex;
  }

  nav a{
    padding:10px 12px;
    border-radius:10px;
  }

  nav a.active::after{
    display:none;
  }

  nav a.active{
    background:rgba(229,59,59,.10);
    color:var(--text);
  }

  .nav-dropdown{
    width:100%;
  }

  .nav-dropdown-trigger{
    display:flex;
    justify-content:space-between;
    align-items:center;
  }

  .nav-dropdown-trigger::after{
    content:"+";
    font-weight:700;
    color:var(--text);
  }

  .nav-dropdown.open .nav-dropdown-trigger::after{
    content:"-";
  }

  .nav-dropdown-menu{
    position:static;
    display:none;
    margin-top:6px;
    background:#162132;
    opacity:1;
    transform:none;
    pointer-events:auto;
    min-width:0;
    padding:6px;
    box-shadow:none;
  }

  .nav-dropdown.open .nav-dropdown-menu{
    display:grid;
  }

  .section{
    padding:var(--space-section-mobile) 0;
  }

  .page-hero{
    padding:56px 0 24px;
  }

  .hero{
    padding:56px 0 68px;
  }

  .hero-title{
    letter-spacing:-1px;
    line-height:1;
    margin-bottom:16px;
  }

  .hero p{
    font-size:.98rem;
  }

  .hero-actions{
    gap:10px;
  }

  .hero-actions .btn{
    width:100%;
    text-align:center;
  }

  .hero-actions .btn.tertiary{
    width:auto;
    text-align:left;
  }

  .grid-2,
  .grid-3,
  .grid-4,
  .service-grid,
  .split,
  .kpi-row,
  .capabilities-callout{
    grid-template-columns:1fr;
  }

  .card,
  .stat-card,
  .value-card,
  .kpi,
  .feature-panel,
  .feature-list div{
    padding:22px;
  }

  .hero-stats,
  .feature-slab{
    grid-template-columns:1fr;
  }

  .inline-cta{
    flex-direction:column;
    align-items:flex-start;
  }

  .section + .section::before,
  .section + .section-band::before,
  .section-band + .section::before,
  .divider + .section::before,
  .divider + .section-band::before{
    left:16px;
    right:16px;
  }

  h1{
    font-size:42px;
  }

  h2{
    font-size:30px;
  }
}
