
:root{
  --bg:#0f141a;
  --panel:#151c24;
  --panel-2:#1a222d;
  --text:#f5f7fa;
  --muted:#aeb7c2;
  --line:rgba(255,255,255,.08);
  --gold:#d8b43d;
  --lime:#a5c95a;
  --shadow:0 20px 60px rgba(0,0,0,.26);
  --container:min(1180px, calc(100% - 32px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, Arial, sans-serif;
  background:linear-gradient(180deg,#0f141a 0%, #111821 100%);
  color:var(--text);
  line-height:1.45;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
.page-decor{
  position:fixed; inset:0; pointer-events:none; z-index:-1;
  background:
    radial-gradient(circle at 15% 12%, rgba(216,180,61,.11), transparent 24%),
    radial-gradient(circle at 85% 18%, rgba(165,201,90,.08), transparent 26%),
    linear-gradient(180deg, #0f141a 0%, #121821 100%);
}
.container{width:var(--container); margin:0 auto}
.section{padding:56px 0}
.compact{padding-top:10px;padding-bottom:22px}
.compact-bottom{padding-top:30px;padding-bottom:48px}

.header{
  position:sticky; top:0; z-index:40;
  background:rgba(11,16,22,.78);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.nav{min-height:82px; display:flex; align-items:center; gap:18px}
.brand{display:flex; align-items:center; gap:12px}
.brand img{height:56px; width:auto; object-fit:contain; background:transparent; mix-blend-mode:lighten; filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))}
.brand-text{font-size:20px; font-weight:800; letter-spacing:.5px; color:#fff; line-height:1}
.nav-links{display:flex; gap:24px; margin-left:auto; color:var(--muted)}
.nav-links a:hover{color:#fff}
.menu-toggle{
  display:none; width:48px;height:48px; border-radius:14px; margin-left:auto;
  border:1px solid var(--line); background:rgba(255,255,255,.04);
}
.menu-toggle span{display:block; width:20px;height:2px;background:#fff;margin:4px auto}
.mobile-nav{display:none; padding:0 16px 16px; border-top:1px solid var(--line); background:rgba(11,16,22,.95)}
.mobile-nav.open{display:grid; gap:12px}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:0 20px; border-radius:999px;
  border:1px solid transparent; transition:.25s ease; cursor:pointer;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(135deg, var(--gold), var(--lime));
  color:#10151c; font-weight:800;
  box-shadow:0 18px 45px rgba(165,201,90,.18);
}
.btn-secondary{
  background:rgba(255,255,255,.06);
  color:#fff; border-color:var(--line);
}
.btn-full{width:100%}

.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  color:var(--gold); text-transform:uppercase; letter-spacing:.14em;
  font-size:12px; font-weight:800;
}
.eyebrow::before{
  content:""; width:30px;height:1px; background:var(--lime);
}

.hero{position:relative; overflow:hidden; padding:42px 0 54px}
.hero-bg{
  position:absolute; inset:0; opacity:.46; pointer-events:none;
}
.hero-bg img{width:100%; height:100%; object-fit:cover}
.hero-grid{
  position:relative;
  display:grid; grid-template-columns:1.02fr .98fr; gap:20px; align-items:center;
}
.hero-copy h1{
  margin:16px 0 14px;
  font-size:clamp(42px, 6.2vw, 78px);
  line-height:1.02; letter-spacing:-.04em; max-width:10.5ch;
}
.hero-copy h1 span{color:#fff59d}
.hero-copy p{max-width:64ch; color:var(--muted); font-size:18px}
.hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin:24px 0; justify-content:center}
.hero-points{
  display:grid; grid-template-columns:repeat(3,1fr); gap:12px; justify-items:center; text-align:center;
}
.point{
  padding:16px; border-radius:22px;
  background:rgba(255,255,255,.05); border:1px solid var(--line);
  backdrop-filter:blur(6px);
}
.point strong{display:block; margin-bottom:6px}
.point span{color:var(--muted); font-size:14px}

.hero-card-wrap{position:relative; min-height:180px}
/* hero-card removed */
.hero-card{
  position:absolute; inset:70px 0 0 auto; width:min(100%, 520px);
  padding:28px; border-radius:30px;
  background:linear-gradient(180deg, rgba(21,28,36,.92), rgba(21,28,36,.78));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}
.card-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px}
.chip{
  display:inline-flex; align-items:center; min-height:32px; padding:0 12px;
  border-radius:999px; background:rgba(216,180,61,.12); color:#f5dc7e; font-size:12px; font-weight:800; letter-spacing:.08em;
}
.status{
  width:14px;height:14px;border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--lime));
  box-shadow:0 0 0 8px rgba(165,201,90,.12);
}
.hero-card h2{margin:0 0 12px; font-size:40px; line-height:1.02; letter-spacing:-.03em}
.hero-card p{margin:0; color:var(--muted)}
.mini-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:22px;
}
.mini-grid div{
  padding:16px; border-radius:20px;
  background:rgba(255,255,255,.04); border:1px solid var(--line);
}
.mini-grid strong{display:block; margin-bottom:6px; font-size:15px}
.mini-grid span{color:var(--muted); font-size:14px}

.floating{
  position:absolute; padding:10px 16px; border-radius:999px;
  background:#11161d; border:1px solid rgba(255,255,255,.08);
  color:#fff; box-shadow:var(--shadow); font-size:14px;
  animation:float 6s ease-in-out infinite;
}
.f1{top:12px;left:8px}
.f2{top:90px;right:20px; animation-delay:1.2s}
.f3{bottom:24px;left:10px; animation-delay:2.1s}
.f4{bottom:100px;right:10px; animation-delay:3.1s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

.badges{
  display:grid; grid-template-columns:repeat(5,1fr); gap:12px;
}
.badge-box{
  min-height:78px; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:12px 14px; border-radius:20px;
  background:rgba(255,255,255,.04); border:1px solid var(--line);
  color:#dfe6ee; box-shadow:var(--shadow);
}

.section-head{
  max-width:760px; margin:0 auto 26px; text-align:center;
}
.section-head h2, .dark-copy h2, .lead-copy h2{
  margin:14px 0 12px;
  font-size:clamp(34px,5vw,56px); line-height:1.03; letter-spacing:-.03em;
}
.section-head p, .dark-copy p, .lead-copy p{
  color:var(--muted); font-size:18px;
}

.services-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.service-card{
  padding:24px; border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.icon{
  width:58px;height:58px;border-radius:18px; display:grid; place-items:center;
  background:linear-gradient(135deg, rgba(216,180,61,.18), rgba(165,201,90,.22));
  font-size:28px; margin-bottom:16px;
}
.service-card h3{margin:0 0 12px; font-size:24px}
.service-card ul{margin:0; padding-left:18px; color:var(--muted)}
.service-card li+li{margin-top:7px}

.dark-band{padding-top:24px; padding-bottom:44px}
.dark-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:18px;
  padding:30px; border-radius:32px;
  background:linear-gradient(135deg, rgba(17,22,29,.96), rgba(26,34,45,.92));
  border:1px solid rgba(255,255,255,.06); box-shadow:var(--shadow);
}
.adv-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px;
}
.adv-grid div{
  min-height:92px; padding:18px; border-radius:22px;
  display:flex; align-items:center; font-weight:700;
  background:rgba(255,255,255,.04); border:1px solid var(--line);
}

.lead-grid{
  display:grid; grid-template-columns:1.02fr .98fr; gap:18px; align-items:start;
}
.contact-pills{
  display:grid; gap:10px; margin-top:20px;
}
.contact-pills a{
  min-height:54px; display:flex; align-items:center; gap:12px;
  padding:10px 16px; border-radius:18px; background:rgba(255,255,255,.04);
  border:1px solid var(--line); box-shadow:var(--shadow);
}
.contact-pills img, .contact-card img{width:26px;height:26px}

.form-card{
  padding:24px; border-radius:28px;
  background:linear-gradient(180deg, rgba(21,28,36,.94), rgba(21,28,36,.84));
  border:1px solid rgba(255,255,255,.08); box-shadow:var(--shadow);
}
.field{display:grid; gap:8px; margin-bottom:16px}
.field label{font-weight:700}
.field input, .field textarea{
  width:100%; min-height:56px; border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04); color:#fff;
  padding:16px 18px; outline:none;
}
.field textarea{min-height:120px; resize:vertical}
.field input:focus, .field textarea:focus{
  border-color:rgba(165,201,90,.75);
  box-shadow:0 0 0 4px rgba(165,201,90,.12);
}
.method-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:10px;
}
.method-btn{
  min-height:52px; border-radius:16px; border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04); color:#fff; cursor:pointer; transition:.22s ease;
}
.method-btn:hover{border-color:rgba(216,180,61,.55)}
.method-btn.active{
  background:linear-gradient(135deg, rgba(216,180,61,.18), rgba(165,201,90,.18));
  border-color:rgba(165,201,90,.65); color:#fff59d;
}
.form-message{
  display:none; margin-top:14px; padding:14px 16px; border-radius:14px; font-weight:700;
}
.form-message.show{display:block}
.form-message.ok{background:rgba(165,201,90,.14); color:#d8f19d}
.form-message.error{background:rgba(239,68,68,.12); color:#ffb7b7}

.contacts-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.contact-card{
  min-height:108px; display:flex; align-items:center; gap:12px;
  padding:18px 20px; border-radius:24px;
  background:rgba(255,255,255,.04); border:1px solid var(--line); box-shadow:var(--shadow);
}
.contact-card strong{display:block; margin-bottom:4px}
.contact-card span{color:var(--muted)}

@media (max-width: 1080px){
  .hero-grid, .dark-grid, .lead-grid{grid-template-columns:1fr}
  .hero-points, .badges, .services-grid, .contacts-grid{grid-template-columns:repeat(2,1fr)}
  .hero-card-wrap{min-height:120px}
  /* hero-card removed */
.hero-card{position:relative; inset:auto; width:100%; margin-top:60px}
}
@media (max-width: 760px){
  .section{padding:46px 0}
  .nav-links, .desktop-cta{display:none}
  .menu-toggle{display:block}
  .brand img{height:48px}
  .brand-text{font-size:18px}
  .hero{padding-top:30px}
  .hero-copy h1{max-width:12ch; font-size:clamp(38px, 12vw, 58px)}
  .hero-points, .badges, .services-grid, .mini-grid, .adv-grid, .method-grid, .contacts-grid{grid-template-columns:1fr}
  .floating{font-size:13px}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .floating{animation:none}
}


.hero-grid{
  align-items:center;
}
.hero-copy{
  max-width: 640px;
}
.hero-card-wrap{
  position:relative;
  min-height: 460px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.hero-side-panel{
  width:min(100%, 520px);
  margin-left:auto;
  padding:28px;
  border-radius:30px;
  background:linear-gradient(180deg, rgba(21,28,36,.86), rgba(21,28,36,.72));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}
.hero-side-logo{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:22px;
}
.hero-side-logo img{
  width:min(220px, 60%);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.22));
}
.hero-side-brand{
  font-size:30px;
  font-weight:900;
  letter-spacing:.02em;
  line-height:1;
  color:#fff;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:0 0 18px;
  justify-content:center;
}
.hero-points{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  justify-items:stretch;
  text-align:left;
  max-width:100%;
}
.point{
  text-align:left;
}
@media (max-width:1080px){
  .hero-card-wrap{
    min-height:auto;
    justify-content:stretch;
  }
  .hero-side-panel{
    width:100%;
    margin-top:52px;
  }
}
@media (max-width:760px){
  .hero-side-logo img{
    width:min(180px, 70%);
  }
  .hero-side-brand{
    font-size:24px;
  }
}


/* v4 layout refinements */
body{
  background:linear-gradient(180deg,#1a2129 0%, #202934 100%);
}
.page-bg{
  background:
    radial-gradient(circle at 14% 10%, rgba(216,180,61,.07), transparent 24%),
    radial-gradient(circle at 86% 18%, rgba(155,196,92,.05), transparent 26%),
    linear-gradient(180deg,#1a2129 0%, #202934 100%);
}
.hero-scene{
  opacity:.24;
  filter:grayscale(.12) contrast(.95) brightness(1.18);
}
.hero{
  padding:48px 0 58px;
}
.hero-grid{
  grid-template-columns:minmax(0, 1.08fr) minmax(420px, .92fr);
  gap:28px;
  align-items:center;
}
.hero-copy{
  max-width:680px;
}
.hero-copy h1{
  max-width:11.4ch;
}
.hero-card-wrap{
  min-height:420px;
  align-items:center;
}
.hero-side-panel{
  width:min(100%, 470px);
  margin-left:auto;
  padding:24px 24px 22px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(24,31,39,.72), rgba(24,31,39,.58));
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 16px 40px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
}
.hero-side-logo{
  margin-bottom:18px;
  gap:8px;
}
.hero-side-logo img{
  width:min(170px, 52%);
}
.hero-side-brand{
  font-size:26px;
  letter-spacing:.01em;
}
.hero-actions{
  margin:0 0 16px;
  gap:12px;
}
.hero-actions .btn{
  min-height:50px;
  padding:0 18px;
}
.hero-points{
  gap:10px;
}
.point{
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.045);
}
.floating{
  background:rgba(17,22,29,.92);
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.f1{top:24px;left:0}
.f2{top:82px;right:0}
.f3{bottom:18px;left:6px}
.f4{bottom:86px;right:6px}

@media (max-width: 1180px){
  .hero-grid{
    grid-template-columns:1fr 430px;
    gap:22px;
  }
  .hero-side-panel{
    width:100%;
  }
}
@media (max-width: 1080px){
  .hero-grid{
    grid-template-columns:1fr;
  }
  .hero-card-wrap{
    min-height:auto;
  }
  .hero-side-panel{
    width:100%;
    max-width:560px;
    margin:42px auto 0;
  }
}
@media (max-width: 760px){
  body{
    background:linear-gradient(180deg,#202833 0%, #26313d 100%);
  }
  .page-bg{
    background:
      radial-gradient(circle at 14% 10%, rgba(216,180,61,.06), transparent 24%),
      radial-gradient(circle at 86% 18%, rgba(155,196,92,.045), transparent 26%),
      linear-gradient(180deg,#202833 0%, #26313d 100%);
  }
  .hero-scene{
    opacity:.18;
    filter:grayscale(.14) contrast(.95) brightness(1.14);
  }
  .hero-side-panel{
    padding:22px 18px 18px;
    border-radius:24px;
  }
  .hero-side-logo img{
    width:min(150px, 62%);
  }
  .hero-side-brand{
    font-size:22px;
  }
}


/* final visual refinement */
body{
  background:linear-gradient(180deg,#2b333d 0%, #36404c 100%);
}
.page-bg{
  background:
    radial-gradient(circle at 14% 10%, rgba(216,180,61,.06), transparent 24%),
    radial-gradient(circle at 86% 18%, rgba(155,196,92,.045), transparent 26%),
    linear-gradient(180deg,#2b333d 0%, #36404c 100%);
}
.header{
  background:rgba(32,39,47,.74);
}
.hero{
  padding:44px 0 52px;
}
.hero-bg{
  opacity:.36;
  filter:grayscale(.08) contrast(.92) brightness(1.22);
}
.hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:22px;
  align-items:center;
}
.hero-copy{
  max-width:680px;
}
.hero-copy h1{
  max-width:11.5ch;
}
.hero-card-wrap{
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-side-panel{
  width:min(100%, 430px);
  margin:0 auto;
  padding:22px 20px 18px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(38,47,57,.56), rgba(38,47,57,.42));
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 12px 28px rgba(0,0,0,.12);
  backdrop-filter:blur(6px);
}
.hero-side-logo{
  margin-bottom:16px;
  gap:8px;
}
.hero-side-logo img{
  width:min(150px, 48%);
  height:auto;
  object-fit:contain;
}
.hero-side-brand{
  font-size:24px;
  font-weight:900;
  letter-spacing:.01em;
}
.hero-actions{
  margin:0 0 14px;
  gap:10px;
  justify-content:center;
}
.hero-actions .btn{
  min-height:48px;
  padding:0 16px;
}
.hero-points{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  justify-items:stretch;
  text-align:left;
}
.point{
  padding:13px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.045);
  box-shadow:none;
}
.point strong{
  margin-bottom:4px;
}
.point span{
  font-size:13px;
}
.strip-card,
.service-card,
.info-card,
.process-card,
.benefit-card,
.project-card,
.review-card,
.form-card,
.contact-card,
.geo-card,
.approach-card{
  box-shadow:0 10px 24px rgba(0,0,0,.10);
}
@media (max-width:1080px){
  .hero-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .hero-card-wrap{
    min-height:auto;
  }
  .hero-side-panel{
    width:100%;
    max-width:460px;
  }
}
@media (max-width:760px){
  body{
    background:linear-gradient(180deg,#333c47 0%, #3c4754 100%);
  }
  .page-bg{
    background:
      radial-gradient(circle at 14% 10%, rgba(216,180,61,.05), transparent 24%),
      radial-gradient(circle at 86% 18%, rgba(155,196,92,.04), transparent 26%),
      linear-gradient(180deg,#333c47 0%, #3c4754 100%);
  }
  .hero-bg{
    opacity:.28;
    filter:grayscale(.08) contrast(.92) brightness(1.18);
  }
  .hero-side-panel{
    padding:20px 16px 16px;
    border-radius:22px;
  }
  .hero-side-logo img{
    width:min(135px, 54%);
  }
  .hero-side-brand{
    font-size:22px;
  }
}


/* v6 lighter global background, softer construction underlay */
body{
  background:linear-gradient(180deg,#505c69 0%, #667382 100%);
}
.page-bg{
  background:
    radial-gradient(circle at 14% 10%, rgba(216,180,61,.045), transparent 24%),
    radial-gradient(circle at 86% 18%, rgba(155,196,92,.035), transparent 26%),
    linear-gradient(180deg,#505c69 0%, #667382 100%);
}
.header{
  background:rgba(63,72,83,.66);
}
.hero-bg{
  opacity:.16;
  filter:grayscale(.14) contrast(.86) brightness(1.22);
}
.strip-card,
.service-card,
.info-card,
.process-card,
.benefit-card,
.project-card,
.review-card,
.form-card,
.contact-card,
.geo-card,
.approach-card{
  background:linear-gradient(180deg, rgba(27,34,42,.38), rgba(27,34,42,.28));
  border:1px solid rgba(255,255,255,.06);
}
.dark-grid{
  background:linear-gradient(135deg, rgba(27,34,42,.52), rgba(27,34,42,.44));
}
@media (max-width:760px){
  body{
    background:linear-gradient(180deg,#5a6674 0%, #6f7d8c 100%);
  }
  .page-bg{
    background:
      radial-gradient(circle at 14% 10%, rgba(216,180,61,.04), transparent 24%),
      radial-gradient(circle at 86% 18%, rgba(155,196,92,.03), transparent 26%),
      linear-gradient(180deg,#5a6674 0%, #6f7d8c 100%);
  }
  .hero-bg{
    opacity:.13;
    filter:grayscale(.14) contrast(.84) brightness(1.18);
  }
}


/* reference background light theme override */
:root{
  --text:#25313d;
  --muted:#566575;
  --line:rgba(58,78,98,.10);
  --shadow:0 12px 30px rgba(64,84,104,.10);
}

body{
  background:
    linear-gradient(180deg, #edf3f8 0%, #e2ebf2 56%, #eef3f7 100%);
  color:var(--text);
}

.page-decor{
  background:
    radial-gradient(circle at 12% 8%, rgba(216,180,61,.08), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(165,201,90,.05), transparent 24%),
    linear-gradient(180deg, #edf3f8 0%, #e2ebf2 56%, #eef3f7 100%);
}

.header{
  background:
    linear-gradient(180deg, rgba(238,244,249,.94), rgba(226,235,242,.88));
  border-bottom:1px solid rgba(58,78,98,.08);
  box-shadow:0 4px 18px rgba(64,84,104,.05);
}

.brand-text,
.nav-links a,
.mobile-nav a,
.section-head h2,
.info-card h2,
.dark-copy h2,
.lead-copy h2,
.geo-card h2,
.approach-card h3,
.review-card h3,
.service-card h3,
.project-card h3,
.contact-card strong,
.point strong,
.process-intro strong{
  color:#22303c;
}

.nav-links,
.brand-text,
.hero-copy p,
.section-head p,
.service-card ul,
.dark-copy p,
.lead-copy p,
.geo-card p,
.approach-card p,
.review-body p:last-child,
.contact-card span,
.point span,
.benefit-card span,
.process-card p,
.footer-row{
  color:#5c6a78;
}

.hero{
  padding:42px 0 54px;
}

.hero-bg{
  opacity:.16;
  filter:grayscale(.10) saturate(.82) brightness(1.14) contrast(.88);
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(237,243,248,.84) 0%, rgba(237,243,248,.78) 34%, rgba(237,243,248,.62) 58%, rgba(237,243,248,.72) 100%);
  pointer-events:none;
}

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

.hero-copy h1{
  color:#24313c;
}

.hero-copy h1 span{
  color:#d0ab31;
}

.hero-side-panel{
  background:linear-gradient(180deg, rgba(245,248,251,.92), rgba(235,241,246,.86));
  border:1px solid rgba(67,87,107,.10);
  box-shadow:0 16px 34px rgba(72,92,111,.10);
  backdrop-filter:blur(8px);
}

.point,
.strip-card,
.service-card,
.info-card,
.process-card,
.benefit-card,
.project-card,
.review-card,
.form-card,
.contact-card,
.geo-card,
.approach-card{
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(245,248,251,.80));
  border:1px solid rgba(67,87,107,.10);
  box-shadow:0 10px 24px rgba(72,92,111,.08);
}

.accent-card{
  background:linear-gradient(135deg, rgba(216,180,61,.90), rgba(165,201,90,.72));
  color:#24313c;
}
.accent-card p{color:#2f3a46}

.btn-secondary{
  background:rgba(255,255,255,.72);
  color:#25313d;
  border-color:rgba(58,78,98,.12);
}

.dark-grid{
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(242,247,251,.76));
  border:1px solid rgba(67,87,107,.10);
}

.adv-grid div,
.tick-grid div,
.geo-tags span{
  background:rgba(255,255,255,.80);
  border:1px solid rgba(67,87,107,.10);
  color:#283642;
}

.approach-card{
  background:linear-gradient(180deg, rgba(248,251,253,.88), rgba(236,242,247,.86));
}

.form-card{
  background:linear-gradient(180deg, rgba(248,251,253,.92), rgba(236,242,247,.88));
}

.field input,
.field textarea{
  background:rgba(255,255,255,.92);
  color:#22303c;
  border:1px solid rgba(67,87,107,.12);
}

.method-btn{
  background:rgba(255,255,255,.90);
  color:#22303c;
  border:1px solid rgba(67,87,107,.12);
}

.mobile-nav{
  background:linear-gradient(180deg, rgba(238,244,249,.98), rgba(226,235,242,.95));
}

.footer{
  background:transparent;
}
.footer-row{
  border-top:1px solid rgba(58,78,98,.10);
}

@media (max-width:760px){
  body{
    background:linear-gradient(180deg, #eff4f8 0%, #e4ecf3 100%);
  }
  .page-decor{
    background:
      radial-gradient(circle at 12% 8%, rgba(216,180,61,.07), transparent 26%),
      radial-gradient(circle at 84% 16%, rgba(165,201,90,.05), transparent 24%),
      linear-gradient(180deg, #eff4f8 0%, #e4ecf3 100%);
  }
  .hero-bg{
    opacity:.14;
    filter:grayscale(.10) saturate(.82) brightness(1.12) contrast(.88);
  }
  .hero::after{
    background:linear-gradient(180deg, rgba(239,244,248,.88), rgba(239,244,248,.70));
  }
}


/* visibility fixes requested */
.header{
  background:linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(248,251,253,.94) 55%, rgba(234,241,247,.90) 100%) !important;
  border-bottom:1px solid rgba(58,78,98,.10) !important;
  box-shadow:0 4px 18px rgba(64,84,104,.06) !important;
}
.brand{
  position:relative;
  z-index:2;
}
.brand img{
  filter:none !important;
  mix-blend-mode:normal !important;
}
.brand-text{
  color:#1f2b36 !important;
}
.nav-links{
  color:#4b5a69 !important;
}
.nav-links a:hover{
  color:#1f2b36 !important;
}

.hero-bg{
  opacity:.32 !important;
  filter:grayscale(.06) saturate(.92) brightness(1.08) contrast(.94) !important;
}
.hero::after{
  background:
    linear-gradient(90deg, rgba(237,243,248,.56) 0%, rgba(237,243,248,.44) 34%, rgba(237,243,248,.28) 58%, rgba(237,243,248,.40) 100%) !important;
}

.badge-box{
  color:#1f2b36 !important;
  font-weight:700 !important;
}

@media (max-width:760px){
  .header{
    background:linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(248,251,253,.95) 55%, rgba(234,241,247,.92) 100%) !important;
  }
  .hero-bg{
    opacity:.28 !important;
    filter:grayscale(.06) saturate(.92) brightness(1.06) contrast(.94) !important;
  }
  .hero::after{
    background:linear-gradient(180deg, rgba(239,244,248,.62), rgba(239,244,248,.42)) !important;
  }
}


/* requested visual fixes */
.hero-side-brand{
  color:#1f2b36 !important;
  text-shadow:none !important;
}

.header .brand{
  gap:16px !important;
}
.header .brand img{
  height:72px !important;
  width:auto !important;
  object-fit:contain !important;
  mix-blend-mode:multiply !important;
  filter:none !important;
  background:transparent !important;
}
.header .brand-text{
  font-size:24px !important;
  font-weight:900 !important;
  color:#1f2b36 !important;
  letter-spacing:.01em !important;
}

.contacts-grid{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:stretch !important;
}
.contact-card{
  min-height:88px !important;
  padding:14px 16px !important;
  border-radius:20px !important;
  gap:10px !important;
}
.contact-card img{
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;
}
.contact-card strong{
  font-size:15px !important;
  line-height:1.15 !important;
}
.contact-card span{
  font-size:12px !important;
  line-height:1.25 !important;
  display:block !important;
}

@media (max-width:1200px){
  .contacts-grid{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  }
}
@media (max-width:760px){
  .header .brand img{
    height:60px !important;
  }
  .header .brand-text{
    font-size:20px !important;
  }
  .contacts-grid{
    grid-template-columns:1fr !important;
  }
}


/* mobile menu + button contrast fix */
.method-btn.active,
.method-btn:active{
  color:#1f2b36 !important;
  font-weight:800 !important;
  border-color:rgba(88,115,35,.42) !important;
  background:linear-gradient(135deg, rgba(216,180,61,.34), rgba(165,201,90,.32)) !important;
  box-shadow:0 6px 16px rgba(155,196,92,.16) !important;
}

.btn-primary,
.btn-primary:visited{
  color:#1f2b36 !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active{
  color:#16212b !important;
  background:linear-gradient(135deg, #d9ba42, #9fcb58) !important;
}

.menu-toggle,
.menu-btn{
  cursor:pointer !important;
}

.mobile-nav.open{
  display:grid !important;
}
