/* Conversion-focused visual refinement: brand, homepage hero and simplified enquiry form. */

/* A sharper industrial Lancing wordmark without introducing an external image dependency. */
.brand{
  gap:13px!important;
  min-width:max-content;
}
.brand-mark{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:54px!important;
  height:48px!important;
  border-radius:15px!important;
  border:1px solid rgba(255,255,255,.42)!important;
  background:linear-gradient(145deg,#061b31 0 64%,#00a7b8 64% 100%)!important;
  box-shadow:0 10px 24px rgba(6,27,49,.20),inset 0 1px 0 rgba(255,255,255,.24)!important;
  color:#fff!important;
  font-size:1.06rem!important;
  font-weight:950!important;
  letter-spacing:-.06em!important;
  line-height:1!important;
  padding-bottom:5px;
}
.brand-mark:after{
  content:"";
  position:absolute;
  left:11px;
  right:11px;
  bottom:8px;
  height:3px;
  border-radius:999px;
  background:#ffb347;
  box-shadow:0 0 0 1px rgba(7,31,53,.12);
}
.brand strong{
  font-size:1.01rem;
  line-height:1.05;
  letter-spacing:.065em!important;
}
.brand small{
  margin-top:3px;
  color:#0b4f8f!important;
  font-size:.71rem!important;
  line-height:1.15;
  letter-spacing:.035em!important;
  text-transform:none!important;
}

/* Clickable contact details remain visually consistent with the existing top bar. */
.topbar a{
  display:inline-flex;
  align-items:center;
  color:inherit;
  text-decoration:none;
}
.topbar a:hover,
.topbar a:focus-visible{
  color:#77f6ff;
  text-decoration:underline;
  text-underline-offset:3px;
}
.topbar-phone{
  color:#fff!important;
}

/* Homepage: one compact message card, two clear actions and an unobstructed video area. */
.hero.hero-clean{
  min-height:clamp(540px,calc(100svh - 122px),690px)!important;
  max-height:690px;
  padding:clamp(42px,7vh,74px) 0!important;
  align-items:center;
}
.hero-clean .hero-media:after{
  background:linear-gradient(90deg,rgba(2,12,22,.58) 0%,rgba(3,17,30,.31) 38%,rgba(3,17,30,.08) 66%,rgba(3,17,30,.02) 100%)!important;
}
.hero-clean .hero-media video{
  object-position:center center;
  filter:saturate(1.08) contrast(1.04) brightness(1.04);
}
.hero-clean .hero-inner{
  display:flex!important;
  width:100%;
  align-items:center;
  justify-content:flex-start;
}
.hero-clean .hero-copy{
  width:min(520px,100%);
  max-width:520px!important;
  padding:clamp(25px,3vw,38px)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:26px!important;
  background:rgba(2,14,25,.78)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  text-shadow:none!important;
}
.hero-clean .eyebrow{
  margin-bottom:10px;
  color:#78f3ff!important;
  text-shadow:none!important;
}
.hero-clean h1{
  max-width:490px;
  margin:.08em 0 .25em!important;
  font-size:clamp(2.25rem,3.75vw,3.75rem)!important;
  line-height:.98!important;
  letter-spacing:-.052em!important;
  color:#fff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.42)!important;
}
.hero-clean .lead{
  max-width:520px;
  margin:0;
  color:#eefaff!important;
  font-size:1.08rem!important;
  line-height:1.5;
  font-weight:620!important;
  text-shadow:none!important;
}
.hero-clean .hero-actions{
  gap:11px;
  margin-top:22px;
}
.hero-clean .btn{
  min-height:48px;
  padding:11px 20px;
}
.hero-clean .btn-phone{
  gap:8px;
  border:1px solid rgba(255,255,255,.58);
  background:rgba(255,255,255,.12);
  color:#fff!important;
  box-shadow:none;
  backdrop-filter:blur(8px);
}
.hero-clean .btn-phone:hover,
.hero-clean .btn-phone:focus-visible{
  background:#fff;
  color:#061b31!important;
}
.hero-machine-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:17px;
  color:#fff!important;
  font-size:.92rem;
  font-weight:850;
  text-decoration:underline;
  text-decoration-color:rgba(119,246,255,.62);
  text-underline-offset:4px;
  text-shadow:none!important;
}
.hero-machine-link:hover,
.hero-machine-link:focus-visible{
  color:#77f6ff!important;
}

/* Contact form: four visible fields, clear labels and a single-column reading path. */
.simple-enquiry-form{
  display:block!important;
  padding:clamp(24px,3vw,34px)!important;
}
.simple-enquiry-form .form-heading{
  margin:0 0 22px;
  padding-bottom:20px;
  border-bottom:1px solid var(--line,#dce5ec);
}
.simple-enquiry-form .form-heading .eyebrow{
  margin:0 0 6px;
  color:#006a7b!important;
  font-size:.74rem;
}
.simple-enquiry-form .form-heading h2{
  margin:0 0 7px;
  color:#071521;
  font-size:clamp(1.7rem,2.5vw,2.25rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.simple-enquiry-form .form-heading p{
  margin:0;
  color:#4b5b69;
  font-weight:600;
}
.simple-enquiry-form > label{
  display:block!important;
  margin:0 0 17px;
  color:#08213d!important;
  font-weight:850!important;
}
.simple-enquiry-form input,
.simple-enquiry-form textarea{
  width:100%;
  margin-top:7px;
  border:1px solid #c9d7e2;
  border-radius:13px;
  background:#fbfdff;
  color:#071521;
  box-shadow:inset 0 1px 2px rgba(7,31,53,.035);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.simple-enquiry-form input:focus,
.simple-enquiry-form textarea:focus{
  outline:none;
  border-color:#00899a;
  background:#fff;
  box-shadow:0 0 0 4px rgba(0,167,184,.13);
}
.simple-enquiry-form textarea{
  min-height:145px;
  resize:vertical;
}
.simple-enquiry-form .required-mark{
  color:#b42b2b;
}
.simple-enquiry-form .optional-mark{
  float:right;
  margin-top:2px;
  color:#657584;
  font-size:.76rem;
  font-weight:700;
}
.simple-enquiry-form > button{
  width:100%;
  margin-top:2px;
  grid-column:auto!important;
}
.simple-form-contact{
  margin:14px 0 0;
  color:#536373;
  text-align:center;
  font-size:.92rem;
}
.simple-form-contact a{
  color:#005e75;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}


/* Keep the contact route compact so the simplified form appears sooner. */
.contact-hero{
  padding:48px 0!important;
}
.contact-hero .container{
  padding-top:12px!important;
  padding-bottom:12px!important;
}
.contact-hero h1{
  max-width:900px;
  margin:.12em auto .2em!important;
  font-size:clamp(2.55rem,4.7vw,4.45rem)!important;
  line-height:1!important;
}
.contact-hero p:not(.eyebrow){
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  font-size:1.05rem!important;
}
.contact-section{
  padding-top:58px!important;
}

/* The inherited fallback stylesheet used white button text; restore a visible mobile menu label. */
.menu-toggle{
  color:#08213d!important;
}
.menu-toggle:before{
  content:"☰";
  margin-right:7px;
  font-size:1rem;
  line-height:1;
}

@media (max-width:1040px){
  .hero.hero-clean{
    min-height:610px!important;
    max-height:none;
  }
  .hero-clean .hero-copy{
    width:min(520px,68%);
  }
}

@media (max-width:760px){
  .topbar{
    gap:16px!important;
    justify-content:center!important;
    padding:8px 12px!important;
  }
  .topbar-address{
    display:none;
  }
  .brand{
    gap:10px!important;
  }
  .brand-mark{
    width:47px!important;
    height:43px!important;
    border-radius:13px!important;
    font-size:.96rem!important;
  }
  .brand-mark:after{
    left:10px;
    right:10px;
    bottom:7px;
  }
  .brand strong{
    font-size:.9rem;
  }
  .brand small{
    max-width:148px;
    font-size:.65rem!important;
  }
  .hero.hero-clean{
    min-height:calc(100svh - 116px)!important;
    max-height:none;
    padding:28px 0!important;
  }
  .hero-clean .hero-media:after{
    background:linear-gradient(90deg,rgba(2,12,22,.48),rgba(2,12,22,.16))!important;
  }
  .hero-clean .hero-media video{
    object-position:58% center;
  }
  .hero-clean .hero-copy{
    width:100%;
    max-width:100%!important;
    padding:22px 19px!important;
    border-radius:22px!important;
    background:rgba(2,14,25,.76)!important;
  }
  .hero-clean .eyebrow{
    display:none;
  }
  .hero-clean h1{
    font-size:clamp(2rem,9.7vw,2.65rem)!important;
    line-height:1.02!important;
  }
  .hero-clean .lead{
    font-size:.98rem!important;
    line-height:1.45;
  }
  .hero-clean .hero-actions{
    display:grid!important;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:18px;
  }
  .hero-clean .hero-actions .btn{
    width:100%;
  }
  .hero-machine-link{
    display:none;
  }
  .contact-grid{
    gap:20px!important;
  }
  .contact-grid .simple-enquiry-form{
    order:1;
  }
  .contact-grid .contact-card{
    order:2;
  }
  .contact-hero{
    padding:30px 0!important;
  }
  .contact-hero h1{
    font-size:clamp(2.15rem,10.2vw,2.8rem)!important;
  }
  .contact-hero p:not(.eyebrow){
    font-size:.98rem!important;
  }
  .contact-section{
    padding-top:34px!important;
  }
  .simple-enquiry-form{
    padding:23px 19px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .hero-clean .btn,
  .simple-enquiry-form input,
  .simple-enquiry-form textarea{
    transition:none;
  }
}
