
*{box-sizing:border-box;margin:0;padding:0}
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;justify-content:center;align-items:center}
.main-nav{display:grid;grid-auto-flow:column;align-items:center;height:64px;gap:22px}
.navitem{height:64px;display:flex;align-items:center;justify-content:center}
.navitem a{font-weight:700;font-size:0.95rem;text-transform:uppercase;color:#fff;text-decoration:none;padding:0 14px;height:64px;line-height:64px;display:flex;align-items:center;justify-content:center}
.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}
.section{
  background-color:#202B3A;min-height:88vh;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;padding:110px 24px;margin-top:64px}
.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}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.main-nav{flex:1;display:flex;justify-content:center;gap:20px}
.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}

.contact-form-wrapper{padding:40px 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 */
.section-img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
  margin-bottom: 20px;
}


/* Ensure Seamed Subsea Services uses 50/50 layout (image left, text right) */
#subsea.section {
  background-color:#202B3A; display: flex; align-items: stretch; }
#subsea .section-img { width: 50%; height: auto; max-height: 100%; object-fit: cover; margin-bottom: 0; display: block; }
#subsea .overlay { width: 50%; }


/* Desktop 50/50 layout */
.section {
  background-color:#202B3A; display:flex; align-items:stretch; }
.section .section-img { width:50%; height:auto; max-height:100%; object-fit:cover; margin-bottom:0; display:block; }
.section .overlay { width:50%; }

@media (max-width: 768px){
  .section{ flex-direction: column; }
  .section .section-img{ width:100%; height:260px; }
  .section .overlay{ width:100%; margin-top:12px; }
}


/* === Original-size images & auto-sized text containers === */
.section { display:flex; align-items:flex-start; gap:24px; background-color:#202B3A; }
.section .section-img { width:auto !important; height:auto !important; max-width:none !important; object-fit:unset !important; margin:0 !important; display:block; flex:0 0 auto; }
.section .overlay { width:auto !important; flex:1 1 auto; max-width:1100px; }
/* Responsive: keep mobile safe without changing desktop layout */
@media (max-width: 768px){
  .section{ flex-direction: column; align-items:center; }
  .section .section-img{ max-width:100% !important; height:auto !important; }
  .section .overlay{ width:100% !important; }
}



/* Center containers vertically across all sections (desktop) */
.section { align-items: center; }
/* Keep images at original size and text flexing next to it */
.section .section-img { width:auto !important; height:auto !important; max-width:none !important; object-fit:unset !important; margin:0 !important; display:block; flex:0 0 auto; }
.section .overlay { width:auto !important; flex:1 1 auto; }
/* Mobile safety (unchanged) */
@media (max-width: 768px){
  .section{ flex-direction: column; align-items:center; }
  .section .section-img{ max-width:100% !important; height:auto !important; }
  .section .overlay{ width:100% !important; }
}



/* Ensure subsea matches other sections */
.section{ display:flex; align-items:center; gap:24px; }
.section .section-img{ width:auto !important; height:auto !important; max-width:none !important; object-fit:unset !important; margin:0 !important; display:block; flex:0 0 auto; }
.section .overlay{ width:auto !important; flex:1 1 auto; }







/* === Fullscreen layout for all sections + menu === */
html, body { height: 100%; margin: 0; padding: 0; }
header, nav { height: 100vh; display: flex; align-items: center; justify-content: center; }
.section { min-height: 100vh !important; height: 100vh !important; display: flex; align-items: center; justify-content: center; }



/* === Force #subsea to match other sections visually === */
#subsea.section{ display:flex; align-items:center; gap:24px; }
#subsea .section-img{
  width:auto; height:auto; 
  max-width:50vw;               /* cap width to half viewport (like 50%) */
  max-height:calc(100vh - 160px); /* avoids overflow in fullscreen sections */
  object-fit:contain; 
  display:block; margin:0;
  flex:0 0 auto;
}
#subsea .overlay{
  width:auto; flex:1 1 auto; 
  max-width:48vw;               /* ensures text column comparable to others */
}
@media (max-width: 768px){
  #subsea.section{ flex-direction:column; align-items:center; }
  #subsea .section-img{ max-width:100%; max-height:none; }
  #subsea .overlay{ width:100%; max-width:100%; }
}



/* === CONTACT FORM: fit inside blue-grey area + internal scroll if needed === */
#contact.section{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  height:100vh;
  background-color:#202B3A;
  padding:24px 16px;
  box-sizing:border-box;
  scroll-margin-top: 96px;
}
#contact form{
  width:100%;
  max-width:860px;
  max-height:calc(100vh - 160px);
  overflow:auto;
  background:rgba(255,255,255,0.05);
  padding:16px 20px;
  border-radius:10px;
  box-sizing:border-box;
  scrollbar-gutter: stable both-edges;
}
#contact form .form-row,
#contact form .row,
#contact form .grid{ gap:10px; }
#contact label{ margin-bottom:4px; line-height:1.25; }
#contact input, #contact select, #contact textarea{
  padding:10px 12px; line-height:1.25; width:100%; box-sizing:border-box;
}
#contact .actions, #contact .form-actions{
  margin-top:8px; display:flex; gap:10px;
}
@media (max-width: 900px){
  #contact form{ max-width:100%; max-height:calc(100vh - 130px); padding:14px; }
}
@media (max-height: 720px){
  #contact form{ max-height:calc(100vh - 96px); }
}



/* === CONTACT FORM: smaller box with visible blue-grey margins + rounded corners === */
#contact.section{
  padding: 40px 24px !important; /* more breathing room around the form */
  background-color:#202B3A !important;
}
#contact form{
  max-width: 800px !important;         /* slightly narrower */
  max-height: calc(100vh - 200px) !important; /* more margin top/bottom */
  border-radius: 20px !important;      /* rounder corners */
  background: rgba(255,255,255,0.08) !important;
  padding: 24px 32px !important;
  box-shadow: 0 0 20px rgba(0,0,0,0.25) !important;
  overflow-y: auto !important;
}

@media (max-width: 900px){
  #contact.section{ padding: 28px 16px !important; }
  #contact form{
    max-width: 100% !important;
    max-height: calc(100vh - 160px) !important;
    padding: 18px 20px !important;
    border-radius: 16px !important;
  }
}
@media (max-height: 720px){
  #contact form{ max-height: calc(100vh - 140px) !important; }
}



/* === CONTACT FORM: reduce dark box height to show blue-grey background around === */
#contact.section{
  padding: 60px 24px !important; /* more space above and below */
  background-color:#202B3A !important;
}
#contact form{
  max-width: 780px !important; /* keep slightly compact */
  max-height: calc(100vh - 240px) !important; /* smaller dark area, reveals blue-grey top/bottom */
  border-radius: 22px !important; /* keep rounded look */
  background: rgba(255,255,255,0.07) !important;
  padding: 22px 30px !important;
  box-shadow: 0 0 18px rgba(0,0,0,0.25) !important;
  overflow-y: auto !important;
}

@media (max-width: 900px){
  #contact.section{ padding: 40px 16px !important; }
  #contact form{
    max-width: 100% !important;
    max-height: calc(100vh - 180px) !important;
    border-radius: 18px !important;
    padding: 18px 20px !important;
  }
}
@media (max-height: 720px){
  #contact form{ max-height: calc(100vh - 140px) !important; }
}

