*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#DCE8DF;color:#111111;font-family:-apple-system,"Segoe UI",system-ui,Roboto,sans-serif;font-size:16px;line-height:1.55;text-wrap:pretty}
h1,h2,h3,p{margin:0}
a{color:#123B2A}
img{max-width:100%}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:12px;font-weight:600;font-size:16px;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit;line-height:1.2}
.btn.primary{background:#123B2A;color:#fff}
.btn.primary:hover{background:#0B2519}
.btn.outline{border-color:#123B2A;color:#123B2A;background:transparent}
.btn.outline:hover{background:#fff}
.btn.dark{border-color:#111;color:#111}
.btn.white{background:#fff;color:#123B2A}
.btn.sm{padding:11px 18px;font-size:15px}
.eyebrow{font-size:14px;color:#123B2A;font-weight:600;text-transform:uppercase;letter-spacing:1px}
.h2{font-size:clamp(30px,4vw,44px);line-height:1.1;font-weight:700;letter-spacing:-1px;margin-top:10px}
.section{padding:80px 0}
.section.white{background:#fff}
.head{margin-bottom:36px}

/* top */
.top{border-bottom:1px solid #CFDCD3;background:#DCE8DF;position:sticky;top:0;z-index:10}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#111}
.brand .mark{width:40px;height:40px;border-radius:10px;background:#123B2A;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;letter-spacing:.5px}
.brand b{display:block;font-size:18px}
.brand small{display:block;font-size:12px;color:#4A5A50}
.nav{display:flex;gap:28px;font-size:15px}
.nav a{text-decoration:none;color:#111}
.nav a:hover{color:#123B2A}
.top-actions{display:flex;gap:10px;align-items:center}
.burger{display:none;background:none;border:1px solid #123B2A;border-radius:10px;padding:10px;cursor:pointer}

/* hero */
.hero{padding:90px 0 100px}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.02;font-weight:700;letter-spacing:-2px}
.hero .lead{font-size:clamp(18px,2vw,22px);line-height:1.5;color:#2B3A31;max-width:540px;margin-top:24px}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.phone{width:320px;max-width:100%;margin:0 auto;background:#fff;border:1px solid #CFDCD3;border-radius:32px;padding:28px 24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 24px 60px rgba(18,59,42,.12)}
.phone .tag{font-size:12px;color:#4A5A50;text-transform:uppercase;letter-spacing:1px}
.phone .t{font-size:20px;font-weight:700}
.phone .row{display:flex;justify-content:space-between;font-size:14px}
.bar{height:10px;background:#DCE8DF;border-radius:6px}
.bar i{display:block;width:65%;height:10px;background:#123B2A;border-radius:6px}
.phone ul{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid #CFDCD3;display:flex;flex-direction:column;gap:10px;font-size:14px}
.phone li{display:flex;align-items:center;gap:10px}
.phone li.todo{color:#4A5A50}
.phone .note{background:#DCE8DF;border-radius:14px;padding:12px 14px;font-size:13px}

/* services */
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.card{border:1px solid #CFDCD3;border-radius:20px;padding:32px;background:#F6F9F7;display:flex;flex-direction:column;gap:14px}
.card h3{font-size:24px;font-weight:700}
.card p{color:#2B3A31}

/* works */
.cards4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.work{background:#fff;border:1px solid #CFDCD3;border-radius:18px;overflow:hidden}
.work .ph{height:190px;background:#EEF3EF;border-bottom:1px dashed #B5C7BB;display:flex;align-items:center;justify-content:center;gap:8px;color:#6B7D71;font-size:14px}
.work .ph img{width:100%;height:100%;object-fit:cover}
.work .body{padding:20px}
.work .body b{display:block;font-size:18px}
.work .body span{font-size:15px;color:#4A5A50}

/* steps */
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.step{border-top:2px solid #123B2A;padding-top:20px;display:flex;flex-direction:column;gap:10px}
.step .n{font-size:14px;font-weight:700;color:#123B2A}
.step b{font-size:20px}
.step p{font-size:15px;color:#2B3A31}

/* about */
.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.about p.big{font-size:18px;line-height:1.6;color:#2B3A31;margin-top:18px}
.login-box{background:#123B2A;color:#fff;border-radius:24px;padding:40px;display:flex;flex-direction:column;gap:16px}
.login-box .t{font-size:26px;font-weight:700}
.login-box p{color:#D6E4DA}

/* form */
.contact .wrap{display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:start}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.f{display:flex;flex-direction:column;gap:8px}
.f.full{grid-column:1/-1}
.f label{font-size:14px;font-weight:600}
.f input,.f select,.f textarea{width:100%;font:inherit;padding:13px 16px;border:1px solid #CFDCD3;border-radius:10px;background:#F6F9F7;color:#111}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid #123B2A;outline-offset:0;border-color:#123B2A}
.f textarea{min-height:130px;resize:vertical}
.files{grid-column:1/-1;display:flex;align-items:center;gap:12px;border:1px dashed #B5C7BB;border-radius:10px;padding:16px 18px;font-size:15px;color:#4A5A50;cursor:pointer;background:#fff}
.files input{position:absolute;opacity:0;width:0;height:0}
.files.has{border-style:solid;border-color:#123B2A;color:#111}
.hp{position:absolute;left:-9999px}
.form-foot{grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.form-foot small{color:#4A5A50}
.contact-box{background:#DCE8DF;border-radius:24px;padding:36px;display:flex;flex-direction:column;gap:22px}
.contact-box .t{font-size:24px;font-weight:700}
.contact-box small{display:block;font-size:13px;color:#4A5A50}
.contact-box a{font-size:20px;font-weight:600;text-decoration:none;color:#111}
.msg{padding:14px 18px;border-radius:12px;margin-top:20px;font-size:15px}
.msg.ok{background:#E3F1E7;border:1px solid #9FC4AC}
.msg.err{background:#FBE9E7;border:1px solid #E5A79F}

/* footer */
.foot{border-top:1px solid #CFDCD3}
.foot .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:28px;padding-bottom:28px;font-size:14px;color:#4A5A50}
.foot a{font-weight:600;text-decoration:none}

@media (max-width:1000px){
  .nav{display:none}
  .top-actions .btn.outline{display:none}
  .burger{display:inline-flex}
  .nav.open{display:flex;position:absolute;left:0;right:0;top:100%;background:#DCE8DF;border-bottom:1px solid #CFDCD3;flex-direction:column;gap:0}
  .nav.open a{padding:14px 24px;border-top:1px solid #CFDCD3}
  .hero .wrap{grid-template-columns:1fr}
  .cards3{grid-template-columns:1fr}
  .cards4{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .about .wrap,.contact .wrap{grid-template-columns:1fr}
  .section{padding:60px 0}
}
@media (max-width:600px){
  .cards4{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .hero{padding:56px 0 64px}
  .top-actions .btn.primary{display:none}
}
