
 
*{box-sizing:border-box;margin:0;padding:0}
:root{--content-width:1120px}
html,body{height:100%}
body{font-family:Arial,Helvetica,sans-serif;color:#fff;background:#000;line-height:1.6}
.navbar{position:fixed;top:0;left:0;right:0;height:64px;background:rgba(0,0,0,.98);z-index:1000;display:flex;align-items:center;overflow:visible!important}
.main-nav{position:absolute!important;left:50%!important;transform:translateX(-50%)!important;width:min(var(--content-width),calc(100vw - 340px))!important;display:flex!important;align-items:center;justify-content:space-between;height:64px;gap:18px}
.start{height:64px;display:flex;align-items:center;margin-left:10px;position:relative;z-index:2}
.start img{width:260px;max-height:54px;height:auto;display:block}
.navitem{height:64px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.navitem a{font-weight:700;font-size:15px;text-transform:uppercase;color:#fff;text-decoration:none;padding:0 8px;height:64px;line-height:64px;display:flex;align-items:center;justify-content:center;white-space:nowrap;flex:0 0 auto}
.navitem a:hover{color:#ddd}
/*
.dropdown{position:relative;height:64px;display:flex;align-items:center}
.dropdown-content{display:none;position:absolute;top:100%;left:0;background:rgba(0,0,0,.95);min-width:220px;border-radius:6px;flex-direction:column;box-shadow:0 8px 24px rgba(0,0,0,.6);overflow:hidden}
.dropdown-content a{display:block;padding:12px 16px;text-decoration:none;text-transform:uppercase;color:#fff;text-align:left;height:auto;line-height:1.4}
.dropdown:hover .dropdown-content{display:flex}
*/

/* supp body.section{min-height:88vh;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;padding:110px 24px;margin-top:64px}*/
.section {
  width: 100%;
  height: calc(100vh - 64px);
  margin: 0;
  padding: 0;
  background-size: min(var(--content-width), 100%) auto;
  background-position: center center;
  background-repeat: no-repeat;
  scroll-margin-top: 64px;
}
  
  html {
  scroll-behavior: smooth;
}

main {
  padding-top: 64px;
}

.section:first-child {
  margin-top: 0;
}

/* supp body
.overlay{background:rgba(0,0,0,.62);padding:36px 32px;border-radius:14px;max-width:1100px;text-align:left}
h2{font-size:2rem;font-weight:800;text-transform:uppercase;margin-bottom:12px}
h3{font-size:1.15rem;font-weight:700;text-transform:uppercase;margin:12px 0}
p{color:#e8eef3;white-space:pre-line}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
input,textarea,button{width:100%;padding:12px;margin-top:10px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:#fff}
button{cursor:pointer;font-weight:700}
.hp{display:none}
@media(max-width:900px){.main-nav{gap:12px}.grid2{grid-template-columns:1fr}}
*/
.logo img{height:40px}

/*supp lang
.lang-switch{color:#fff;font-size:14px}
.lang-switch a{color:#fff;text-decoration:none;margin:0 5px}
.lang-switch a:hover{text-decoration:underline}
*/

.overlay{margin-top:70px;}

.contact-form-wrapper{margin-top:50px;padding:0px 0;display:flex;justify-content:center}
#contact{min-height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center}

form input, form textarea, form button {
  width: 100%;
  box-sizing: border-box;
}

.form-row{display:flex;gap:20px;margin-bottom:15px}
.form-row.single{flex-direction:column}
.form-row div{flex:1;display:flex;flex-direction:column}
form input, form textarea, form button{width:100%;box-sizing:border-box}
textarea{min-height:120px}


/* Wider form container */
#contact form {max-width:900px;margin:0 auto;}

/* Inputs larger width inside their columns */
form input, form textarea, form button {
  width: 100%;
  box-sizing: border-box;
}

/* Highlight invalid fields */
form input:invalid, form textarea:invalid {
  border: 2px solid red;
}


/* --- Form sizing & validation visuals --- */

/* Make columns a bit wider and allow them to grow */
.form-row { display:flex; gap:24px; margin-bottom:18px; align-items:center; }
.form-row.single { flex-direction:column; }
.form-row div { flex: 1 1 50%; display:flex; flex-direction:column; gap:6px; }

/* Slightly larger text in inputs without increasing vertical padding too much */
form input, form textarea, form button {
  width: 100%;
  box-sizing: border-box;
  font-size: 16px; /* slightly larger text */
  padding: 10px 14px; /* keep reasonable height */
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: #fff;
  transition: border-color 160ms ease-in-out, box-shadow 160ms ease-in-out;
}

/* Increase available space for the form block if needed (keeps centered) */
#contact form { max-width: 900px; width: 100%; margin: 0 auto; padding: 18px; }

/* Validation visuals: only apply to required fields so optional fields don't show green when empty */
input:required:invalid, textarea:required:invalid {
  border: 2px solid #e74c3c; /* red */
  box-shadow: 0 0 0 3px rgba(231,76,60,0.06);
}

input:required:valid, textarea:required:valid {
  border: 2px solid #2ecc71; /* green */
  box-shadow: 0 0 0 3px rgba(46,204,113,0.06);
}

/* Captcha input visuals */
.captcha input { font-size:16px; padding:10px 14px; }

/* Ensure button is prominent */
form button {
  padding: 12px 16px;
  font-weight:700;
  cursor:pointer;
  background: #ffffff;
  color: #000;
  border: none;
  border-radius: 6px;
}

/* Responsive adjustments: stack columns on small screens */
@media (max-width: 900px) {
  .form-row { flex-direction: column; gap:12px; }
  .form-row div { width: 100%; }
  #contact form { padding: 12px; }
}


/* Force full-width for single-row blocks */
.form-row.single { flex-direction: column !important; }
.form-row.single > div { width: 100% !important; }
.form-row.single input, .form-row.single textarea { width: 100% !important; }

/* Ensure textarea request is comfortable */
form textarea { min-height: 160px; resize: vertical; }

/* Ensure captcha input full width */
.captcha input { width: 100% !important; box-sizing: border-box; }

/* keep form centered and wide */
#contact form { max-width: 900px; width: 100%; margin: 0 auto; }


/* Section images */

.contact-menu {
  position: relative !important;
}

.contact-submenu {
  display: none !important;
  position: absolute !important;
  top: 64px !important;
  left: 0 !important;
  background: rgba(0,0,0,0.95);
  min-width: 180px;
  z-index: 99999;
  overflow: visible !important;
}

.contact-menu:hover .contact-submenu {
  display: block !important;
}

.contact-submenu a {
  display: block !important;
  height: auto !important;
  line-height: normal !important;
  padding: 12px 16px !important;
  color: white !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.contact-submenu a:hover {
  background: rgba(255,255,255,0.15);
}

#contact {
  min-height: calc(100vh - 64px);
  padding: 100px 20px 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  scroll-margin-top: 64px;
}

#contact .overlay {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.contact-form-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
}

#contact form {
  width: 100%;
  max-width: 900px;
}

#contact h2 {
    text-align: center;
    width: 100%;
    margin-bottom: 30px;
    font-size: 2rem;
    font-weight: 800;
    text-transform: uppercase;
}

@media (min-width: 1000px) and (min-resolution: 1.2dppx) {
  :root {
    --content-width: 900px;
  }

  .main-nav {
    gap: 12px;
  }

  .navitem a {
    font-size: 13px;
    padding: 0 5px;
  }
}
