:root{
  --bg:#eef2f1;
  --panel:#ffffff;
  --ink:#141c1f;
  --muted:#5f6f70;
  --teal:#0e6f6b;
  --btn:#0c625e;
  --btn-hover:#0a524e;
  --line:#eceeed;
  --card-line:#e7ecea;
  --field-line:#d4ddda;
  --field-bg:#fbfcfc;
  --error:#b4452f;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2{font-family:'Poppins',system-ui,sans-serif;margin:0;color:var(--ink);}

.panel{width:100%;background:var(--bg);min-height:100dvh;display:flex;flex-direction:column;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:'Poppins',system-ui,sans-serif;font-weight:600;
  border:none;border-radius:11px;cursor:pointer;
  background:var(--btn);color:#fff;font-size:1rem;
  transition:background .18s ease;white-space:nowrap;
}
.btn:hover{background:var(--btn-hover);}
.btn-primary{padding:.8em 1.6em;}

.site-header{
  display:flex;align-items:center;
  padding:clamp(18px,2.4vw,30px) clamp(20px,3.2vw,46px);
}
.brand{display:inline-flex;align-items:center;gap:.7rem;min-width:0;}
.brand-mark{width:42px;height:42px;display:block;flex:0 0 auto;}
.brand-name{font-family:'Poppins',system-ui,sans-serif;font-weight:700;font-size:1.32rem;letter-spacing:-.01em;color:#16242a;white-space:nowrap;}

.contact-main{
  flex:1 1 auto;
  display:flex;justify-content:center;
  padding:clamp(8px,2vw,28px) clamp(16px,3.2vw,46px) clamp(40px,4vw,64px);
}
.contact-card{
  width:100%;max-width:760px;
  background:var(--panel);border:1px solid var(--card-line);border-radius:20px;
  padding:clamp(22px,3vw,44px);
  box-shadow:0 1px 2px rgba(16,40,40,.05), 0 18px 50px rgba(16,40,40,.07);
}
.contact-intro h1{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:800;letter-spacing:-.02em;}
.contact-intro p{color:var(--muted);font-size:clamp(1rem,1.2vw,1.08rem);margin:.7rem 0 0;max-width:60ch;}

.contact-form{margin-top:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:clamp(16px,1.8vw,22px);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.6vw,20px);}
.field{display:flex;flex-direction:column;min-width:0;}
.field label{font-family:'Poppins',system-ui,sans-serif;font-weight:600;font-size:1rem;color:#1b2a2c;margin-bottom:.5rem;}
.field-help{margin:-.2rem 0 .6rem;color:var(--muted);font-size:.92rem;line-height:1.45;}

.field input,
.field select,
.field textarea{
  font-family:inherit;font-size:1rem;color:var(--ink);
  background:var(--field-bg);
  border:1px solid var(--field-line);border-radius:12px;
  padding:.78em .9em;width:100%;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.field textarea{resize:vertical;min-height:120px;line-height:1.55;}
.field select{cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235f6f70' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9em center;padding-right:2.4em;}
.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none;background:#fff;border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(14,111,107,.14);
}
.field.invalid input,
.field.invalid textarea{border-color:var(--error);box-shadow:0 0 0 3px rgba(180,69,47,.12);}
.field-error{margin:.45rem 0 0;color:var(--error);font-size:.88rem;}

.btn-submit{align-self:flex-start;padding:.92em 1.9em;font-size:1.05rem;box-shadow:0 10px 22px rgba(12,98,94,.22);}
.form-note{margin:.2rem 0 0;color:var(--muted);font-size:.9rem;}

.form-success{text-align:center;padding:clamp(20px,4vw,48px) clamp(10px,2vw,20px);}
.success-mark{
  width:64px;height:64px;border-radius:50%;margin:0 auto 1.1rem;
  display:flex;align-items:center;justify-content:center;
  background:#e3efed;border:1px solid #cfe1dd;
}
.form-success h2{font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:700;letter-spacing:-.01em;}
.form-success p{color:var(--muted);margin:.6rem auto 1.4rem;max-width:46ch;}

.site-footer{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:clamp(18px,2vw,26px) clamp(20px,3.2vw,46px) clamp(22px,2.4vw,30px);
  border-top:1px solid var(--line);
}
.copyright{margin:0;color:#8a9494;font-size:.92rem;}
.footer-home{color:var(--teal);font-weight:600;font-size:.95rem;font-family:'Poppins',sans-serif;}
.footer-home:hover{text-decoration:underline;}

@media (max-width:560px){
  .field-row{grid-template-columns:1fr;}
  .btn-submit{align-self:stretch;}
}
@media (max-width:380px){
  .brand-name{font-size:1.12rem;}
  .site-header{padding-left:16px;padding-right:16px;}
}

.hp-field{
  position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;
}

.captcha-field{gap:0;}
.captcha-label{
  font-family:'Poppins',system-ui,sans-serif;font-weight:600;font-size:1rem;
  color:#1b2a2c;margin-bottom:.5rem;
}
.captcha-box{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;}
.captcha-img{
  width:200px;height:64px;display:block;border-radius:12px;
  border:1px solid var(--field-line);background:#e3efed;
}
.captcha-refresh{
  width:44px;height:44px;flex:0 0 auto;border-radius:12px;cursor:pointer;
  border:1px solid var(--field-line);background:#fff;color:var(--teal);
  font-size:18px;line-height:1;
  transition:background .15s ease, border-color .15s ease;
}
.captcha-refresh:hover{background:#f1f7f6;border-color:var(--teal);}
.captcha-refresh:focus-visible{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,111,107,.14);}
.captcha-input{max-width:240px;}

.form-note.err{color:var(--error);}
.form-note.ok{color:var(--teal);}
