:root{
  --green:#2dcec8;
  --gray:#e3e3e3;
  --black:#010101;
  --white:#feffff;
}

html{scroll-behavior:smooth;}
*{box-sizing:border-box}

body{
  margin:0;
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--black);
  background:var(--white);
}

.section{ padding:64px 20px; }

.section-black{background:var(--black); color:var(--white);}
.section-white{background:var(--white); color:var(--black);}
.section-gray{background:var(--gray); color:var(--black);}
.section-green{background:var(--green); color:var(--black);}

.container{
  width:100%;
  max-width:1100px;
  margin:0 auto;
  text-align:left; /* global LEFT align */
}

.container.narrow{max-width:900px;}

.white{color:var(--white);} .black{color:var(--black);} .green{color:var(--green);}
.bold{font-weight:700;} .normal{font-weight:400;}

.btn{
  display:inline-block;
  padding:12px 24px;
  border-radius:999px;
  text-decoration:none;
  transition:transform .2s ease, opacity .2s ease;
}
.btn-green{ background:var(--green); color:var(--black); }
.btn-dark{ background:var(--black); color:var(--white); }
.btn:hover{ transform:translateY(-1px); opacity:.95; }

/* image */
.slide-figure{ margin:0; }
.slide-figure img{
  max-width:100%; height:auto; display:block;
  border-radius:10px; box-shadow:0 6px 18px rgba(0,0,0,.18);
}

/* list */
ul.bullet{ list-style:disc; margin:0; padding-left:1.2em; max-width:900px; }

/* form */
.contact-form{
  background:rgba(254,255,255,.9);
  border-radius:16px;
  padding:20px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.contact-form .grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}
.field{ text-align:left; }
.field.full{ grid-column:1 / -1; }
label{ display:block; font-weight:600; margin-bottom:4px; }
input, textarea{
  width:100%; border:1px solid #d6d6d6; border-radius:10px;
  padding:12px 14px; font-size:16px; font-family:inherit; outline:none;
}
input:focus, textarea:focus{ border-color:#999; }

/* footer */
.footer-strip{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.footer-left img{ max-height:48px; width:auto; opacity:.9; }
.footer-right img{ max-height:110px; width:auto; opacity:.9; }
.footer-center{ flex:1; min-width:260px; text-align:center; }
.footer-center{ padding: 0 40px; }

a.link-underline{ text-decoration:underline; }
a.white{ color:var(--white); }

/* responsive */
@media (max-width: 900px){
  .section{ padding:48px 16px; }
}

@media (max-width: 640px){
  .footer-strip{ justify-content:center; gap:12px; }
}
