:root{
  --navy:#0d1b2a;
  --navy2:#16263a;
  --navy3:#243c56;
  --brass:#b88a45;
  --brass-soft:#d3b07a;
  --ice:#dce8f5;
  --btn-blue:#1f5f99;
  --btn-blue-hover:#2670b5;
  --steel:#e7edf4;
  --ink:#101a24;
  --muted:#607182;
  --sand:#f3efe6;
  --glow:rgba(50,117,180,.18);
  --card:#ffffff;
  --border:#d6dee8;
  --border-strong:#bfcbd7;
  --shadow: 0 18px 42px rgba(12,27,44,.10);
  --shadow-strong:0 24px 60px rgba(12,27,44,.16);
  --radius:18px;
  --radius-lg:28px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family: "Segoe UI", "Inter", "Helvetica Neue", Arial, sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(38,112,181,.10), transparent 32%),
    radial-gradient(circle at right 20%, rgba(13,27,42,.08), transparent 28%),
    linear-gradient(180deg, #f8fbfe 0%, #eef3f8 100%);
  line-height:1.55;
  letter-spacing:.01em;
}

a{color:inherit; text-decoration:none;}
.container{max-width:1160px; margin:0 auto; padding:0 20px;}
.small{font-size:.95rem; color:var(--muted);}

header{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(180deg, rgba(248,251,254,.86), rgba(240,246,251,.82));
  backdrop-filter:saturate(140%) blur(16px);
  border-bottom:1px solid rgba(191,203,215,.6);
  box-shadow:0 8px 26px rgba(12,27,44,.05);
}
.navbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0 13px;
  gap:14px;
}
.brand{
  display:flex; align-items:center; gap:10px;
  font-weight:800; letter-spacing:.12em;
}
.brand img{
  display:block;
  width:226px;
  max-width:42vw;
  height:auto;
  filter:drop-shadow(0 10px 18px rgba(12,27,44,.10));
}
.brand .sub{display:block; font-weight:600; letter-spacing:.26em; font-size:.7rem; color:var(--muted); margin-top:-2px;}
.logo-mark{
  width:36px; height:36px; border-radius:12px;
  background:linear-gradient(135deg,var(--navy), #1d3d66);
  box-shadow: 0 10px 18px rgba(15,28,46,.18);
}
.nav-links{
  display:flex;
  gap:8px;
  align-items:center;
  font-weight:700;
  color:#1b2430;
  padding:6px;
  border:1px solid rgba(191,203,215,.72);
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(245,249,253,.76));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 10px 22px rgba(12,27,44,.04);
}
.nav-links a{
  padding:9px 14px;
  border-radius:999px;
  transition:background .22s ease, color .22s ease, transform .22s ease;
}
.nav-links a:hover{
  background:rgba(13,27,42,.06);
  color:#0d1b2a;
}
.nav-links a.active{
  background:
    linear-gradient(135deg, rgba(31,95,153,.14), rgba(13,27,42,.08)),
    linear-gradient(180deg, rgba(255,255,255,.26), transparent);
  color:#0d1b2a;
}
.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:42px;
  padding:0 16px;
  border-radius:999px;
  font-weight:750;
  color:#fff;
  background:linear-gradient(135deg, var(--btn-blue), #184b78);
  border:1px solid rgba(15,28,46,.12);
  box-shadow:0 14px 28px rgba(17,51,83,.18);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.nav-cta:hover{
  background:linear-gradient(135deg, var(--btn-blue-hover), #1d5d94);
  transform:translateY(-1px);
  box-shadow:0 18px 32px rgba(17,51,83,.22);
}

.hamburger{
  display:none;
  width:44px; height:44px; border-radius:12px;
  border:1px solid rgba(191,203,215,.9);
  background:rgba(255,255,255,.92);
  align-items:center; justify-content:center;
  box-shadow: 0 10px 22px rgba(15,28,46,.10);
}
.hamburger svg{width:22px; height:22px;}

.mobile-menu{
  display:none;
  margin-top:10px;
  padding:12px;
  border:1px solid rgba(191,203,215,.78);
  border-radius:22px;
  background:
    linear-gradient(145deg, rgba(184,138,69,.08), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.97), rgba(243,248,252,.96));
  box-shadow:0 18px 38px rgba(12,27,44,.10);
  animation:menuDrop .25s ease;
}
.mobile-menu a{
  display:block;
  padding:13px 14px;
  border-radius:14px;
  font-weight:700;
  border:1px solid transparent;
  transition:background .22s ease, border-color .22s ease, transform .22s ease;
}
.mobile-menu a:hover{
  background:rgba(15,28,46,.05);
  border-color:rgba(191,203,215,.58);
  transform:translateX(2px);
}

.hero{
  position:relative;
  background:
    linear-gradient(115deg, rgba(184,138,69,.14), transparent 24%),
    radial-gradient(circle at 20% 20%, rgba(89,159,225,.22), transparent 28%),
    linear-gradient(104deg, rgba(13,27,42,.96) 0%, rgba(18,39,60,.82) 50%, rgba(15,28,46,.42) 100%),
    image-set(
      url("../images/start-hero.webp") type("image/webp"),
      url("../images/start-hero.jpg") type("image/jpeg")
    ) center/cover no-repeat;
  color:#fff;
  padding:98px 0 68px;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:auto auto -140px -80px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.10), transparent 66%);
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:88px 88px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.5), transparent 76%);
  opacity:.18;
  pointer-events:none;
}
.hero .container{
  position:relative;
  z-index:1;
}
.hero .eyebrow{
  display:inline-flex; gap:10px; align-items:center;
  font-weight:700; letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
  opacity:.9;
}
.hero h1{
  max-width:10ch;
  font-size:clamp(2.4rem, 5vw, 4.3rem);
  line-height:.98;
  letter-spacing:-.04em;
  margin:20px 0 16px;
  text-wrap:balance;
}
.hero p{
  max-width:60ch;
  color:rgba(255,255,255,.84);
  font-size:1.08rem;
  margin:0 0 24px;
}

.btn-row{display:flex; gap:12px; flex-wrap:wrap;}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:48px; padding:0 18px; border-radius:999px;
  font-weight:750;
  border:1px solid transparent;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
}
.btn:hover{
  transform:translateY(-1px);
}
.btn.primary{
  color:#fff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), transparent),
    linear-gradient(135deg, var(--btn-blue), #184b78);
  box-shadow:0 16px 34px rgba(17,51,83,.22);
  border-color:rgba(255,255,255,.10);
}
.btn.ghost{
  color:#eef6ff;
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
  border-color:rgba(255,255,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.btn.primary:hover,
.btn.ghost:hover{
  background:linear-gradient(135deg, var(--btn-blue-hover), #1d5d94);
}
.btn.ghost:hover{
  border-color:rgba(255,255,255,.34);
  color:#fff;
}
.btn.card-link{
  height:44px;
  color:var(--btn-blue);
  background:linear-gradient(180deg, rgba(31,95,153,.08), rgba(31,95,153,.03));
  border-color:rgba(31,95,153,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.btn.card-link::after{
  content:"\2192";
  margin-left:8px;
  font-size:1rem;
  line-height:1;
  transition:transform .22s ease;
}
.btn.card-link:hover{
  color:#fff;
  background:linear-gradient(135deg, var(--btn-blue), #184b78);
  border-color:rgba(17,51,83,.24);
  box-shadow:0 14px 28px rgba(17,51,83,.18);
}
.btn.card-link:hover::after{
  transform:translateX(2px);
}

.section{padding:72px 0; position:relative;}
.section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(13,27,42,.025) 1px, transparent 1px),
    linear-gradient(180deg, rgba(13,27,42,.02) 1px, transparent 1px);
  background-size:100px 100px;
  opacity:.25;
  pointer-events:none;
}
.section > .container{
  position:relative;
  z-index:1;
}
.section.alt{
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.98));
}
.featured-cases{
  overflow:hidden;
}
.featured-cases::after{
  content:"";
  position:absolute;
  inset:auto -120px -120px auto;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(31,95,153,.09), transparent 68%);
  pointer-events:none;
}
.featured-cases .proof-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  align-items:stretch;
}
.featured-cases .case-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:22px 22px 20px;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(31,95,153,.12), transparent 30%),
    linear-gradient(145deg, rgba(184,138,69,.08), transparent 20%),
    linear-gradient(180deg, #ffffff, #f7fbff);
}
.featured-cases .case-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg, rgba(184,138,69,.95), rgba(31,95,153,.82));
}
.featured-cases .case-card::after{
  content:"";
  position:absolute;
  right:-22px;
  top:-26px;
  width:118px;
  height:118px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.72), rgba(255,255,255,0));
  pointer-events:none;
}
.featured-cases .case-card h3{
  font-size:clamp(1.3rem, 1.65vw, 1.58rem);
  line-height:1.16;
  letter-spacing:-.03em;
  max-width:16ch;
}
.featured-cases .case-card p{
  max-width:33ch;
}
.featured-cases .case-card .btn-row{
  margin-top:auto !important;
  padding-top:18px;
}
.featured-cases .case-card .proof-label{
  margin-bottom:4px;
}

@media (max-width: 1160px){
  .featured-cases .proof-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .featured-cases .case-card:last-child{
    grid-column:1 / -1;
  }
}
.section .section-title{
  font-size:clamp(1.55rem, 2.2vw, 2.1rem);
  line-height:1.06;
  letter-spacing:-.03em;
  margin:0 0 12px;
}
.section .section-sub{color:var(--muted); margin:0 0 24px; max-width:72ch;}

.cards{display:grid; gap:18px; grid-template-columns: repeat(3, 1fr);}
.card{
  position:relative;
  background:
    radial-gradient(circle at top right, rgba(184,138,69,.08), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.99), #f8fbfd);
  border:1px solid rgba(214,222,232,.95);
  border-radius:var(--radius);
  padding:22px 20px 18px;
  box-shadow: var(--shadow);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg, rgba(184,138,69,.95), rgba(31,95,153,.72));
}
.card::after{
  content:"";
  position:absolute;
  right:18px;
  top:18px;
  width:64px;
  height:64px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(184,138,69,.12), transparent 70%);
  pointer-events:none;
}
.card:hover,
.pitch-card:hover,
.proof-card:hover,
.panel:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-strong);
  border-color:var(--border-strong);
}
.card h3{margin:12px 0 8px; font-size:1.16rem; line-height:1.2;}
.card p{margin:0; color:var(--muted);}
.card-points{
  margin:14px 0 0;
  padding-left:18px;
  color:#243344;
}
.card-points li{margin:6px 0;}
.card .meta{margin-top:12px; font-weight:700; color:#1f2b3a; display:flex; align-items:center; gap:10px;}
.card .meta span{opacity:.75; font-weight:600;}

.pitch-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(3, 1fr);
}
.pitch-card,
.proof-card{
  background:
    radial-gradient(circle at top right, rgba(184,138,69,.07), transparent 28%),
    linear-gradient(180deg, #ffffff, #f9fbfd);
  border:1px solid rgba(214,222,232,.95);
  border-radius:var(--radius);
  padding:20px;
  box-shadow:var(--shadow);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.pitch-kicker,
.proof-label{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(184,138,69,.13), rgba(31,95,153,.08));
  color:#193a5b;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid rgba(184,138,69,.18);
}
.pitch-card h3,
.proof-card h3,
.proof-panel h3,
.profile-panel h3{
  margin:14px 0 8px;
  font-size:1.2rem;
  line-height:1.24;
}
.pitch-card p,
.proof-card p,
.proof-panel p,
.profile-panel p{
  margin:0;
  color:var(--muted);
}

.proof-split{
  align-items:stretch;
}
.proof-panel,
.profile-panel{
  background:
    radial-gradient(circle at top right, rgba(38,112,181,.12), transparent 24%),
    linear-gradient(140deg, rgba(184,138,69,.06), transparent 20%),
    linear-gradient(180deg, #ffffff, #f7fbff);
}
.mini-list{
  margin:16px 0 0;
  padding-left:18px;
  color:#233042;
}
.mini-list li{margin:6px 0;}
.proof-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(2, 1fr);
}
.service-intro{
  display:grid;
  gap:18px;
}
.service-intro .panel{
  padding:34px 36px 30px;
}
.service-intro .panel .proof-label{
  margin-bottom:14px;
}
.service-intro .panel .section-sub{
  max-width:68ch;
  margin:0 0 22px;
  font-size:1.05rem;
  line-height:1.72;
}
.service-intro .panel .bullets{
  margin-top:0;
  max-width:70ch;
  gap:12px;
  line-height:1.68;
  padding-left:0;
  list-style:none;
}
.service-intro .panel .bullets li{
  position:relative;
  margin:0;
  padding-left:22px;
}
.service-intro .panel .bullets li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--brass), var(--btn-blue));
  box-shadow:0 0 0 4px rgba(31,95,153,.08);
}
.contact-note{
  margin-top:16px;
  padding:16px 18px;
  border-radius:14px;
  background:linear-gradient(180deg, #f8fbff, #edf4fb);
  border:1px solid rgba(214,222,232,.95);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.contact-note p{
  margin:10px 0 0;
  color:var(--muted);
}
.value-split{
  align-items:stretch;
}
.value-split .panel,
.proof-split .panel,
.services-support-split .panel,
.contact-split .panel{
  padding:28px;
}

.icon{
  width:44px; height:44px; border-radius:14px;
  display:grid; place-items:center;
  background:linear-gradient(135deg, rgba(31,95,153,.10), rgba(13,27,42,.05));
  border:1px solid rgba(191,203,215,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.icon svg{width:22px; height:22px; stroke:var(--navy);}

.stat-strip{
  background:
    linear-gradient(135deg, rgba(13,27,42,.99), rgba(22,38,58,.98));
  color:#fff;
  padding:26px 0;
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.04);
  position:relative;
  overflow:hidden;
}
.stat-strip::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:110px 110px;
  opacity:.22;
  pointer-events:none;
}
.stat-strip .container{
  position:relative;
  z-index:1;
}
.stats{display:grid; gap:14px; grid-template-columns: repeat(4, 1fr);}
.stat{
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.stat .big{font-weight:900; font-size:1.1rem; letter-spacing:-.02em;}
.stat .small{color:rgba(255,255,255,.78); font-size:.9rem; margin-top:4px;}

.split{display:grid; gap:22px; grid-template-columns: 1.15fr .85fr; align-items:center;}
.panel{
  background:
    radial-gradient(circle at top right, rgba(184,138,69,.06), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.98), #f9fbfd);
  border:1px solid rgba(214,222,232,.95);
  border-radius:var(--radius); padding:24px;
  box-shadow: var(--shadow);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.bullets{display:grid; gap:8px; padding-left:18px; margin:12px 0 0; color:#233042;}
.bullets li{margin-left:0;}
.figure{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid rgba(214,222,232,.95);
  box-shadow: var(--shadow);
  background:#0f1c2e;
}
.figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(15,28,46,.08), rgba(15,28,46,.22)),
    linear-gradient(135deg, rgba(184,138,69,.07), transparent 30%);
  pointer-events:none;
}
.figure img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  display:block;
  filter:contrast(1.07) saturate(1.04) brightness(.98);
  transform:scale(1.02);
}
.contact-figure{
  max-width:420px;
  width:100%;
  aspect-ratio: 4 / 3;
  justify-self:center;
}
.contact-figure::after{
  background:linear-gradient(180deg, rgba(15,28,46,.04), rgba(15,28,46,.14));
}
.contact-figure img{
  min-height:0;
  object-position: 52% 30%;
  transform:scale(1.02);
}
.contact-split{
  align-items:start;
}
.contact-split .contact-figure{
  max-width:none;
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
}
.contact-split .contact-figure img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:50% 42%;
}
.services-support-split{
  align-items:stretch;
}
.services-support-split .figure{
  height:100%;
}
.services-support-split .figure img{
  width:100%;
  height:100%;
  min-height:340px;
  object-fit:cover;
}
.competence-split{
  align-items:stretch;
}
.competence-split .figure{
  height:100%;
}
.competence-split .figure img{
  width:100%;
  height:100%;
  min-height:340px;
  object-fit:cover;
}

.cta-band{
  background:
    linear-gradient(120deg, rgba(184,138,69,.14), transparent 22%),
    radial-gradient(circle at top right, rgba(109,176,235,.16), transparent 24%),
    linear-gradient(135deg, #0d1b2a, #194166);
  color:#fff;
  padding:38px 0;
  position:relative;
  overflow:hidden;
}
.cta-band::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:120px 120px;
  opacity:.18;
  pointer-events:none;
}
.cta-band .container{
  position:relative;
  z-index:1;
}
.cta-band .row{display:flex; gap:18px; justify-content:space-between; align-items:center; flex-wrap:wrap;}
.cta-band h2{margin:0; font-size:clamp(1.45rem, 2vw, 1.9rem); line-height:1.06; letter-spacing:-.03em;}
.cta-band p{margin:6px 0 0; color:rgba(255,255,255,.86); max-width:70ch;}
.cta-band .btn{border-color:rgba(255,255,255,.25);}

.page-hero{
  background:
    linear-gradient(118deg, rgba(184,138,69,.13), transparent 20%),
    radial-gradient(circle at 18% 18%, rgba(89,159,225,.18), transparent 24%),
    linear-gradient(100deg, rgba(13,27,42,.95) 0%, rgba(18,39,60,.72) 60%, rgba(15,28,46,.28) 100%),
    url("../images/steam-outage.webp") center/cover no-repeat;
  color:#fff;
  padding:78px 0 48px;
  position:relative;
  overflow:hidden;
}
.page-hero[style]{
  background-repeat:no-repeat, no-repeat !important;
  background-position:center center, center center !important;
  background-size:auto, cover !important;
}
.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:96px 96px;
  opacity:.16;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.55), transparent 78%);
  pointer-events:none;
}
.page-hero h1{margin:12px 0 10px; font-size:clamp(2rem, 4vw, 3rem); line-height:1.04; letter-spacing:-.035em;}
.page-hero p{margin:0; color:rgba(255,255,255,.86); max-width:70ch;}

.grid-2{display:grid; gap:18px; grid-template-columns: 1fr 1fr;}
.grid-2 .panel{
  min-height:100%;
}
.list{margin:10px 0 0; padding-left:18px; color:#223041;}
.list li{margin:6px 0;}

.contact-card{
  display:grid; gap:8px;
  padding:18px;
  border-radius:18px;
  background:
    linear-gradient(140deg, rgba(184,138,69,.08), transparent 22%),
    linear-gradient(180deg, #f7fbff, #edf4fb);
  border:1px solid rgba(214,222,232,.95);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.kv{display:flex; gap:10px; align-items:center;}
.kv strong{min-width:86px;}
.kv a{
  color:#1f4f82;
  text-decoration:underline;
  text-underline-offset:2px;
}
.kv a:hover{
  color:#2a639f;
}
.contact-form{
  margin-top:14px;
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:20px;
  background:
    linear-gradient(140deg, rgba(184,138,69,.06), transparent 16%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,254,.98));
  border:1px solid rgba(214,222,232,.95);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.contact-form .row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.contact-form label{
  display:grid;
  gap:6px;
  font-size:.92rem;
  font-weight:650;
  color:#233042;
}
.contact-form input,
.contact-form textarea{
  width:100%;
  border:1px solid rgba(191,203,215,.92);
  border-radius:14px;
  padding:12px 13px;
  font:inherit;
  color:#1f2b3a;
  background:linear-gradient(180deg, #ffffff, #fdfefe);
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.contact-form input:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:#2a639f;
  box-shadow:0 0 0 4px rgba(42,99,159,.13);
  transform:translateY(-1px);
}
.contact-form textarea{
  min-height:132px;
  resize:vertical;
}
.contact-form .hidden{
  display:none;
}
.form-status{
  margin:8px 0 0;
  padding:10px 12px;
  border-radius:10px;
  font-size:.9rem;
}
.form-status.ok{
  background:#e9f7ef;
  color:#1b6b3d;
  border:1px solid #c8e8d4;
}
.form-status.err{
  background:#fceced;
  color:#8b2427;
  border:1px solid #f2c4c7;
}
.badge{
  display:inline-flex; gap:8px; align-items:center;
  padding:8px 10px; border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  font-weight:700; font-size:.82rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}

.service-intro .section-title,
.services-support-split .section-title,
.contact-split .section-title,
.proof-split .section-title,
.value-split .section-title{
  max-width:18ch;
}

.services-support-split .figure,
.contact-split .figure{
  box-shadow:0 28px 60px rgba(12,27,44,.18);
}

.proof-grid{
  align-items:stretch;
}
.proof-grid > *{
  min-height:100%;
}

.cta-band .btn-row{
  justify-content:flex-end;
}

.footer-row > div:first-child{
  padding-right:10px;
}

footer{
  background:
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,251,254,.98));
  border-top:1px solid rgba(214,222,232,.92);
  padding:28px 0 18px;
  color:var(--muted);
  position:relative;
}
footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(13,27,42,.02) 1px, transparent 1px),
    linear-gradient(180deg, rgba(13,27,42,.016) 1px, transparent 1px);
  background-size:120px 120px;
  opacity:.24;
  pointer-events:none;
}
footer .container{
  position:relative;
  z-index:1;
}
.footer-row{
  display:grid;
  grid-template-columns: minmax(320px, 1.25fr) minmax(220px, .75fr);
  gap:20px 28px;
  align-items:start;
}
.footer-row > div:first-child strong{
  display:block;
  margin-bottom:6px;
}
.footer-row > div:first-child .small{
  display:block;
  margin:2px 0;
  line-height:1.45;
}
.footer-row .links{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:8px 16px;
  align-content:start;
}
.footer-row a{
  color:var(--muted);
  font-weight:650;
}
.footer-row a:hover{color:#1a2635;}

@media (max-width: 960px){
  .cards{grid-template-columns: 1fr;}
  .pitch-grid{grid-template-columns:1fr;}
  .proof-grid{grid-template-columns:1fr;}
  .featured-cases .proof-grid{grid-template-columns:1fr;}
  .featured-cases .case-card:last-child{grid-column:auto;}
  .stats{grid-template-columns: 1fr 1fr;}
  .split{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .nav-cta{display:none;}
  .service-intro .panel,
  .value-split .panel,
  .proof-split .panel,
  .services-support-split .panel,
  .contact-split .panel{
    padding:24px;
  }
  .contact-figure{
    max-width:380px;
  }
  .contact-split .contact-figure{
    max-width:560px;
    height:auto;
    aspect-ratio:4 / 3;
  }
  .contact-split .contact-figure img{
    min-height:0;
  }
  .services-support-split .figure{
    height:auto;
  }
  .services-support-split .figure img{
    min-height:260px;
  }
  .competence-split .figure{
    height:auto;
  }
  .competence-split .figure img{
    min-height:260px;
  }
}

@media (max-width: 760px){
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .mobile-menu.show{display:block;}
  .brand img{width:180px; max-width:58vw;}
  .mobile-menu{
    padding:10px;
    border-radius:18px;
  }
  .hero{
    padding:72px 0 44px;
    background:
      linear-gradient(90deg, rgba(15,28,46,.90) 0%, rgba(15,28,46,.58) 62%, rgba(15,28,46,.30) 100%),
      image-set(
        url("../images/start-hero-mobile.webp") type("image/webp"),
        url("../images/start-hero.jpg") type("image/jpeg")
      ) 70% 50% / cover no-repeat;
  }
  .btn-row .btn{width:100%;}
  .stats{grid-template-columns:1fr;}
  .footer-row{
    grid-template-columns: 1fr;
    gap:14px;
  }
  .footer-row .links{
    grid-template-columns: 1fr;
    gap:8px;
  }
}
/* Language switcher */
.lang-switch{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:750;
  color:#1b2430;
}
.lang-switch a{
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(191,203,215,.9);
  background:rgba(255,255,255,.88);
  transition:background .22s ease, border-color .22s ease, transform .22s ease;
}
.lang-switch a.on{
  background:linear-gradient(135deg, rgba(31,95,153,.12), rgba(13,27,42,.08));
  border-color:rgba(31,95,153,.24);
}
.lang-switch span{color:rgba(27,36,48,.55);}
@media (max-width: 760px){
  .lang-switch{display:none;}
}

/* Mobile language switch (inside hamburger menu) */
.mobile-lang{
  display:flex;
  gap:10px;
  padding:10px 12px 6px;
}
.mobile-lang a{
  flex:1;
  text-align:center;
  padding:10px 10px;
  border-radius:999px;
  font-weight:800;
  border:1px solid rgba(191,203,215,.9);
  background:rgba(255,255,255,.92);
}
.mobile-lang a.on{
  background:linear-gradient(135deg, rgba(31,95,153,.12), rgba(13,27,42,.08));
  border-color:rgba(31,95,153,.24);
}

.footer-legal{
  margin:14px 0 0;
  font-size:.88rem;
  color:var(--muted);
  text-align:center;
}

.cookie-banner{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:120;
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  padding:18px 20px;
  border-radius:22px;
  background:
    linear-gradient(135deg, rgba(184,138,69,.07), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,254,.98));
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(191,203,215,.88);
  box-shadow:0 22px 46px rgba(15,28,46,.20);
  animation:bannerRise .28s ease;
}
.cookie-banner[hidden]{
  display:none !important;
}
.cookie-copy{
  display:flex;
  flex-direction:column;
  gap:6px;
  max-width:66ch;
}
.cookie-title{
  color:#102033;
  font-size:1.02rem;
  font-weight:800;
  letter-spacing:-.02em;
}
.cookie-text{
  margin:0;
  color:#1f2b3a;
  font-size:.94rem;
  line-height:1.55;
  max-width:64ch;
}
.cookie-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-shrink:0;
}
.cookie-btn{
  min-height:46px;
  padding:0 18px;
  font-weight:700;
  border-radius:999px;
}
.cookie-btn.cookie-accept{
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), transparent),
    linear-gradient(135deg, var(--btn-blue), #184b78);
  color:#fff;
  border-color:rgba(15,28,46,.12);
  box-shadow:0 12px 24px rgba(17,51,83,.18);
}
.cookie-btn.cookie-accept:hover{
  background:linear-gradient(135deg, var(--btn-blue-hover), #1d5d94);
}
.cookie-btn.cookie-reject{
  background:#f5f8fb;
  color:#4c5d73;
  border:1px solid #d4e0ec;
}
.cookie-btn.cookie-reject:hover{
  background:#eef3f8;
}

@keyframes bannerRise{
  from{
    opacity:0;
    transform:translateY(12px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes menuDrop{
  from{
    opacity:0;
    transform:translateY(-6px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}

@media (max-width: 760px){
  .cookie-banner{
    align-items:flex-start;
    padding:16px;
    border-radius:20px;
  }
  .cookie-actions{
    width:100%;
  }
  .cookie-actions .cookie-btn{
    flex:1;
  }
  .contact-form .row{
    grid-template-columns:1fr;
  }
  .hero{
    padding:76px 0 48px;
    background:
      linear-gradient(118deg, rgba(184,138,69,.12), transparent 20%),
      radial-gradient(circle at 22% 18%, rgba(89,159,225,.20), transparent 24%),
      linear-gradient(104deg, rgba(13,27,42,.94) 0%, rgba(18,39,60,.76) 62%, rgba(15,28,46,.34) 100%),
      image-set(
        url("../images/start-hero-mobile.webp") type("image/webp"),
        url("../images/start-hero.jpg") type("image/jpeg")
      ) 70% 50% / cover no-repeat;
  }
  .hero h1{
    max-width:11ch;
    font-size:clamp(2.2rem, 11vw, 3.2rem);
  }
  .page-hero{
    padding:64px 0 42px;
  }
  .service-intro .panel,
  .value-split .panel,
  .proof-split .panel,
  .services-support-split .panel,
  .contact-split .panel{
    padding:22px;
  }
  .service-intro .panel .section-sub{
    font-size:1rem;
    line-height:1.66;
  }
  .contact-form{
    padding:16px;
    border-radius:18px;
  }
  .service-intro .section-title,
  .services-support-split .section-title,
  .contact-split .section-title,
  .proof-split .section-title,
  .value-split .section-title{
    max-width:none;
  }
  .cta-band .btn-row{
    justify-content:stretch;
    width:100%;
  }
  .cta-band .btn-row .btn{
    width:100%;
  }
}



