@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;650;750;850;900&display=swap');

:root{
  --navy:#07182f;
  --navy2:#0c2342;
  --ink:#102033;
  --muted:#66758a;
  --soft:#f5f8fb;
  --soft2:#eef3f8;
  --line:#dce5ee;
  --green:#5aa832;
  --green-soft:#eaf6e5;
  --blue-soft:#e9f1fb;
  --white:#ffffff;
  --max:1180px;
  --shadow:0 24px 70px rgba(7,24,47,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  color:var(--ink);
  background:#fbfdff;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

body:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 12% 8%,rgba(90,168,50,.08),transparent 26%),
    radial-gradient(circle at 86% 18%,rgba(12,35,66,.08),transparent 28%),
    linear-gradient(90deg,rgba(7,24,47,.035) 1px,transparent 1px),
    linear-gradient(rgba(7,24,47,.035) 1px,transparent 1px);
  background-size:auto,auto,72px 72px,72px 72px;
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 clamp(20px,4vw,56px);
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(220,229,238,.8);
}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:64px;height:40px;object-fit:contain}
.brand strong{display:block;font-size:19px;font-weight:900;color:var(--navy);letter-spacing:-.035em}
.brand small{display:block;margin-top:4px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.nav{display:flex;align-items:center;gap:24px}
.nav a{font-size:13px;font-weight:750;color:#31435a}
.nav a:hover{color:var(--green)}
.nav-contact{
  padding:12px 17px;
  background:var(--navy);
  color:#fff!important;
  box-shadow:0 8px 20px rgba(7,24,47,.15);
}
.menu-btn{display:none;border:0;background:var(--navy);padding:12px;gap:5px;flex-direction:column}
.menu-btn span{width:22px;height:2px;background:white;display:block}

.hero{
  max-width:var(--max);
  margin:0 auto;
  padding:92px clamp(20px,4vw,56px) 54px;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:54px;
  align-items:center;
}
.kicker{
  margin:0 0 16px;
  color:var(--green);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.18em;
}
.hero h1{
  margin:0;
  max-width:760px;
  color:var(--navy);
  font-size:clamp(42px,5vw,64px);
  line-height:1.02;
  letter-spacing:-.055em;
  font-weight:900;
}
.hero-text{
  margin:26px 0 0;
  max-width:720px;
  color:#33465f;
  font-size:20px;
  line-height:1.65;
  font-weight:500;
}
.hero-simple{
  margin:16px 0 0;
  max-width:700px;
  color:var(--muted);
  font-size:16.5px;
  line-height:1.75;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  font-size:13px;
  font-weight:850;
}
.btn.primary{background:var(--navy);color:#fff;box-shadow:0 14px 30px rgba(7,24,47,.18)}
.btn.primary:hover{background:var(--green)}
.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--navy)}
.btn.secondary:hover{border-color:var(--green);color:var(--green)}

.hero-card{
  background:rgba(255,255,255,.88);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  padding:26px;
  position:relative;
}
.hero-card:before{
  content:"";
  position:absolute;
  right:-12px;
  top:32px;
  width:5px;
  height:120px;
  background:linear-gradient(var(--green),#8fd169);
}
.card-top{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px}
.card-top span{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.card-top b{font-size:12px;color:var(--green);font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.orbit{
  margin:28px auto;
  width:245px;
  height:245px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  background:
    radial-gradient(circle,rgba(90,168,50,.10),transparent 58%),
    linear-gradient(135deg,#fff,var(--soft));
}
.orbit img{width:78%;height:78%;object-fit:contain}
.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.card-grid div{
  background:var(--soft);
  border:1px solid var(--line);
  padding:15px;
}
.card-grid b{display:block;color:var(--navy);font-size:15px;margin-bottom:7px}
.card-grid span{display:block;color:var(--muted);font-size:13.5px;line-height:1.45}

.trust-bar{
  max-width:var(--max);
  margin:0 auto 30px;
  padding:0 clamp(20px,4vw,56px);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
}
.trust-bar div{
  background:#fff;
  border:1px solid var(--line);
  padding:22px;
}
.trust-bar strong{display:block;color:var(--navy);font-size:22px;letter-spacing:-.03em}
.trust-bar span{display:block;color:var(--muted);font-size:13px;margin-top:5px}

.section{
  max-width:var(--max);
  margin:0 auto;
  padding:82px clamp(20px,4vw,56px);
}
.section-heading{max-width:820px;margin-bottom:42px}
.section-heading.wide{max-width:940px}
.section-heading h2,
.security-copy h2,
.ai-card h2,
.contact-copy h2,
.legal h2{
  margin:0;
  color:var(--navy);
  font-size:clamp(34px,4vw,48px);
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:900;
}
.section-heading p:not(.kicker),
.security-copy p,
.ai-card p,
.contact-copy p{
  margin:18px 0 0;
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
}

.intro-grid{
  display:grid;
  grid-template-columns:1fr 1.15fr 1fr;
  gap:18px;
}
.intro-grid article{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 14px 40px rgba(7,24,47,.06);
  padding:28px;
}
.intro-grid article.featured{
  background:var(--navy);
  color:#fff;
  transform:translateY(-18px);
}
.intro-grid span{display:block;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.16em}
.intro-grid h3{margin:18px 0 12px;color:inherit;font-size:25px;letter-spacing:-.03em}
.intro-grid p{margin:0;color:var(--muted);line-height:1.7}
.intro-grid .featured p{color:#d9e5f3}

.service-layout{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:22px;
}
.service-main,
.service-side,
.security-panel,
.ai-card,
.contact-form,
.legal-grid article,
.premium-grid article{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 16px 50px rgba(7,24,47,.06);
}
.service-main{padding:34px}
.service-side{padding:30px;background:linear-gradient(180deg,#fff,var(--soft))}
.service-label{
  display:inline-flex;
  background:var(--green-soft);
  color:#376d21;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:20px;
}
.service-main h3,.service-side h3{
  margin:0 0 14px;
  color:var(--navy);
  font-size:clamp(28px,3vw,38px);
  line-height:1.08;
  letter-spacing:-.04em;
}
.service-main p,.service-side p{
  color:var(--muted);
  font-size:16.5px;
  line-height:1.7;
}
.clean-list{
  margin-top:28px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.clean-list div{
  padding:18px;
  background:var(--soft);
  border-left:3px solid var(--green);
}
.clean-list b{display:block;color:var(--navy);font-size:15.5px;margin-bottom:8px}
.clean-list span{display:block;color:var(--muted);font-size:14.5px;line-height:1.55}
.service-side ul{margin:24px 0;padding:0;list-style:none;display:grid;gap:12px}
.service-side li{color:#40536b;line-height:1.55;padding-left:20px;position:relative}
.service-side li:before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;background:var(--green)}
.text-link{font-weight:850;color:var(--green)}

.projects{background:linear-gradient(180deg,transparent,var(--soft));max-width:none}
.projects > *{max-width:var(--max);margin-left:auto;margin-right:auto}
.premium-grid{
  max-width:var(--max);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.premium-grid article{padding:26px}
.premium-grid h3{
  margin:0 0 12px;
  color:var(--navy);
  font-size:23px;
  letter-spacing:-.035em;
}
.premium-grid p{margin:0;color:var(--muted);line-height:1.7;font-size:15.5px}

.security{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:34px;
  align-items:start;
}
.security-panel{
  padding:10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.security-panel div{
  background:var(--soft);
  padding:22px;
}
.security-panel h3{margin:0 0 10px;color:var(--navy);font-size:22px;letter-spacing:-.03em}
.security-panel p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}
.note{
  grid-column:1 / -1;
  margin:4px 0 0;
  color:#54677e;
  background:var(--blue-soft);
  border-left:4px solid var(--navy);
  padding:16px 18px;
  line-height:1.6;
}

.ai-card{
  padding:34px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
  align-items:center;
  background:
    linear-gradient(135deg,#fff 0%,#fff 58%,var(--green-soft) 58%,var(--green-soft) 100%);
}
.ai-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ai-list span{
  background:#fff;
  border:1px solid var(--line);
  padding:15px;
  color:var(--navy);
  font-weight:800;
}

.advice{
  background:var(--navy);
  max-width:none;
}
.advice .section-heading{
  max-width:var(--max);
  margin:0 auto;
}
.advice .kicker{color:#9bdd76}
.advice h2{color:#fff}
.advice p{color:#d8e3ef!important;max-width:820px;margin-bottom:24px!important}
.advice .btn.primary{background:#fff;color:var(--navy)}
.advice .btn.primary:hover{background:var(--green);color:#071006}

.contact{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:34px;
}
.contact-form{
  padding:28px;
  display:grid;
  gap:14px;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  padding:15px 16px;
  font:inherit;
  outline:none;
}
.contact-form textarea{min-height:145px;resize:vertical}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(90,168,50,.12)}
.contact-form button{
  border:0;
  background:var(--navy);
  color:#fff;
  padding:16px;
  font-weight:900;
  cursor:pointer;
}
.contact-form button:hover{background:var(--green)}

.legal{
  max-width:var(--max);
  margin:0 auto;
  padding:50px clamp(20px,4vw,56px) 78px;
}
.legal h2{font-size:32px}
.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.legal-grid article{padding:22px;box-shadow:none}
.legal-grid h3{margin:0 0 10px;color:var(--navy)}
.legal-grid p,.legal-note{color:var(--muted);line-height:1.65;font-size:14.5px}
.legal-note{margin-top:18px}

.footer{
  border-top:1px solid var(--line);
  padding:26px clamp(20px,4vw,56px);
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:var(--muted);
  font-size:13px;
}

@media(max-width:1040px){
  .menu-btn{display:flex}
  .nav{
    display:none;
    position:absolute;
    top:82px;
    left:0;
    right:0;
    background:#fff;
    border-bottom:1px solid var(--line);
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .nav.open{display:flex}
  .nav a{padding:16px 24px;border-top:1px solid var(--line)}
  .hero,.service-layout,.security,.ai-card,.contact{grid-template-columns:1fr}
  .intro-grid,.premium-grid,.legal-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:720px){
  .site-header{height:76px}
  .brand img{width:52px}
  .brand small{display:none}
  .hero{padding-top:60px}
  .hero h1{font-size:38px}
  .hero-text{font-size:18px}
  .trust-bar,.intro-grid,.clean-list,.premium-grid,.security-panel,.ai-list,.form-row,.legal-grid,.card-grid{
    grid-template-columns:1fr;
  }
  .intro-grid article.featured{transform:none}
  .section{padding-top:64px;padding-bottom:64px}
  .footer{flex-direction:column}
}
