/* Longpoint Consulting — stylesheet
   Colors: blue #39739f · green #b8ca91 · text #35415b · headings #0f131f
   Font:   Archivo (body 20px/30px, weight 300; bold 700) */

:root{
  --blue:#39739f;
  --green:#b8ca91;
  --text:#35415b;
  --head:#0f131f;
  --bg:#f2f4f7;
  --panel:#fafafa;
  --line:#d7dce3;
  --maxw:1180px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Archivo',sans-serif;
  font-size:20px;
  line-height:30px;
  font-weight:300;
  color:var(--text);
  background:#fff;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--blue);text-decoration:none;}
a:hover{text-decoration:underline;}
strong,b{font-weight:700;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ---------- Hero ---------- */
.hero{
  background:#39739f url("media/lighthouse.webp") center right/cover no-repeat;
}
.hero-inner{
  position:relative;
  min-height:540px;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:36px 0 64px;
}
.hero-logo{position:absolute;top:36px;left:24px;width:94px;height:auto;}
.hero h1{
  font-family:'Archivo',sans-serif;
  font-size:calc(32px + 2vw);
  line-height:1.2;
  font-weight:400;
  color:#fff;
  margin-bottom:8px;
}
.hero-sub{
  font-size:clamp(22px,1.4vw + 16px,33px);
  line-height:1.2;
  font-weight:400;
  color:#fff;
}

/* ---------- Green divider ---------- */
.divider{height:8px;background:var(--green);}

/* ---------- Body content ---------- */
.content{background:var(--panel);padding:56px 0;}
.content-grid{
  display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:start;
}
.intro p{margin-bottom:22px;}
.intro p:last-child{margin-bottom:0;}

/* Services list */
.services{margin-bottom:34px;}
.service{
  display:flex;align-items:center;gap:16px;
  padding:16px 0;border-top:1px dashed var(--line);
}
.service:first-child{border-top:none;padding-top:0;}
.service .ico{flex:0 0 auto;width:38px;height:38px;color:var(--blue);}
.service .ico svg{width:100%;height:100%;display:block;}
.service span{font-size:20px;line-height:1.3;color:var(--head);}

/* ---------- Contact form ---------- */
.form h2{
  font-family:'Archivo',sans-serif;font-weight:700;font-size:22px;
  color:var(--head);margin-bottom:18px;
}
.field{margin-bottom:16px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
label{
  display:block;font-size:15px;font-weight:700;color:var(--head);margin-bottom:6px;
}
label .req{color:#c0392b;font-weight:400;font-style:italic;}
input,textarea{
  width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:6px;
  font-family:inherit;font-size:17px;color:var(--text);background:#fff;
}
input:focus,textarea:focus{outline:none;border-color:var(--blue);}
textarea{min-height:140px;resize:vertical;}
.hp{position:absolute;left:-9999px;}
button{
  background:var(--blue);color:#fff;border:none;cursor:pointer;
  padding:14px 30px;font-family:inherit;font-size:17px;font-weight:700;border-radius:6px;
}
button:hover{background:#2e6188;}

/* ---------- Team ---------- */
.team{background:#fff;padding:46px 0;border-top:1px solid var(--line);}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.member{display:flex;align-items:center;gap:22px;}
.member img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:0 0 auto;}
.member .name{
  font-family:'Archivo',sans-serif;font-size:21px;font-weight:400;color:var(--head);
  line-height:1.25;margin-bottom:3px;
}
.member .role{font-size:17px;color:var(--text);}

/* ---------- Footer ---------- */
footer{background:var(--head);color:#c7cdd8;}
.footer-inner{
  display:flex;align-items:center;justify-content:space-between;padding:22px 0;
}
.footer-inner .copy{font-size:16px;}
footer a{color:var(--green);display:inline-flex;}
footer a:hover{opacity:.85;text-decoration:none;}
footer svg{width:26px;height:26px;display:block;}

/* ---------- Responsive ---------- */
@media(max-width:860px){
  .content-grid{grid-template-columns:1fr;gap:40px;}
  .team-grid{grid-template-columns:1fr;gap:28px;}
  .hero-inner{min-height:440px;padding-top:96px;}
  .hero-logo{top:28px;}
}
@media(max-width:520px){
  .field-row{grid-template-columns:1fr;}
  .footer-inner{flex-direction:column;gap:12px;}
}
