:root{--brand:#688d99;--accent:#ff3366;--text:#232323;--muted:#767676;--nav:70px;--max:1080px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav)}body{margin:0;color:var(--text);font-family:"Open Sans",Arial,sans-serif;line-height:1.6;background:#fff}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-nav{position:fixed;inset:0 0 auto;z-index:1000;height:var(--nav);background:var(--brand);display:flex;align-items:center}.nav-inner{width:min(1180px,calc(100% - 40px));margin:auto;display:flex;align-items:center;gap:2rem}.brand-switch{margin-right:auto;display:flex;align-items:center;gap:.5rem;color:#fff;white-space:nowrap;font-family:"Muli","Open Sans",sans-serif;font-size:.90rem;line-height:1}.brand-current{font-weight:600}.brand-divider{opacity:.55}.brand-switch a{font-weight:300;opacity:.68}.brand-switch a:hover{opacity:1}.nav-links{display:flex;align-items:center;gap:1.35rem}.nav-links a{color:#fff;font-family:"Muli","Open Sans",sans-serif;font-size:.90rem;line-height:1;white-space:nowrap}.nav-links a:hover{opacity:.72}.nav-toggle{display:none;border:0;background:transparent;width:42px;height:42px;padding:9px}.nav-toggle span{display:block;height:2px;margin:5px 0;background:#fff;transition:.2s}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{min-height:560px;margin-top:var(--nav);display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(rgba(53,85,95,.7),rgba(53,85,95,.7)),url("../images/mixing-station-background-2-1417x770.jpg") center/cover no-repeat fixed}.hero-content{width:min(900px,calc(100% - 40px));padding:7rem 0}.hero h1{font-family:"Muli","Open Sans",sans-serif;font-size:clamp(3rem,6vw,5rem);line-height:1.06;margin:0}.tagline{font-size:clamp(1.5rem,3vw,2.3rem);font-weight:300;margin:1.35rem 0 2.15rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 2.65rem;min-height:50px;border:0;border-radius:5px;background:#448999;color:#fff;font-size:.95rem;letter-spacing:.055em;cursor:pointer}.button:hover{background:#2c5a64}.button.accent{background:var(--accent)}.button.accent:hover{background:#e50039}.about{position:relative;background:var(--brand);color:#fff;text-align:center;padding:clamp(4.25rem,7vw,5.75rem) 20px}.about-inner{width:min(900px,100%);margin:auto}.about h2{max-width:900px;margin:0 auto 1.55rem;font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.3;font-weight:300}.about p{max-width:860px;margin:0 auto 2rem;font-size:1.15rem;line-height:1.65}.down-link{width:52px;height:52px;border-radius:50%;margin:2.4rem auto 0;background:rgba(70,80,83,.45);display:grid;place-items:center;color:#fff;font-size:1.7rem}.section{padding:clamp(3.25rem,5.5vw,4.5rem) 20px}.section-inner{width:min(var(--max),100%);margin:auto}.section-title{margin:0 0 .55rem;text-align:center;font-size:clamp(2rem,3vw,2.55rem);font-weight:300;line-height:1.2}.section-subtitle{text-align:center;color:var(--muted);margin:0 0 2.55rem;font-size:1.05rem;font-weight:300}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.service-card{text-align:center}.service-number{font-family:"Muli","Open Sans",sans-serif;font-size:clamp(3rem,5vw,4.25rem);font-weight:300;color:#c1c1c1;line-height:1;margin-bottom:.8rem}.service-card h3{font-size:1.05rem;margin:0 0 .65rem}.service-card p{font-size:1rem;color:var(--muted);line-height:1.65;margin:0}.contact-form-section{background:var(--brand);color:#fff}.contact-form-section .section-subtitle{color:#fff}.contact-form{width:min(720px,100%);margin:auto}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.field{display:flex;flex-direction:column;gap:.35rem}.field-full{margin-top:1rem}.field label{font-size:.9rem}.field input,.field textarea{border:1px solid #e8e8e8;border-radius:5px;background:#f5f5f5;color:#333;padding:.9rem;outline:none}.field input{min-height:48px}.field textarea{min-height:190px;resize:vertical}.field input:focus,.field textarea:focus{background:#fff;border-color:#c8c8c8}.form-submit{text-align:center;margin-top:2rem}.contact-details{background:linear-gradient(rgba(236,236,236,.88),rgba(236,236,236,.88)),url("../images/miami-3915622-1920-1920x1079.jpg") center/cover no-repeat fixed}.contact-details .section-title{text-align:left;margin-bottom:2.2rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 4rem}.contact-item{display:grid;grid-template-columns:34px 1fr;gap:1.1rem}.contact-icon{width:28px;height:28px}.contact-item h3{font-size:1.15rem;font-weight:400;margin:0 0 .6rem}.contact-item p{font-size:1rem;line-height:1.6;margin:0}.site-footer{background:var(--brand);color:#fff;text-align:center;padding:1rem 20px;font-size:.88rem}.footer-inner{display:flex;justify-content:center;align-items:center;gap:.8rem;flex-wrap:wrap}.footer-links{display:inline-flex;gap:.45rem}.scroll-top{position:fixed;right:28px;bottom:28px;width:48px;height:48px;border:0;border-radius:3px;background:rgba(0,0,0,.28);color:#fff;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:900}.scroll-top.visible{opacity:1;visibility:visible;transform:none}
/* Shared DSS index hero/navigation effect */
.home-page .site-nav{
  background:transparent;
  transition:background-color .25s ease;
}
.home-page .site-nav.scrolled{
  background:var(--brand);
}
.home-page .hero{
  margin-top:0;
  min-height:100vh;
  min-height:100svh;
  padding-top:var(--nav);
}
@media(max-width:850px){.services-grid,.form-row,.contact-grid{grid-template-columns:1fr}.service-card{max-width:620px;margin:auto}.contact-details .section-title{text-align:center}}@media(max-width:940px){.nav-inner{width:calc(100% - 28px);gap:.75rem}.brand-switch{font-size:.86rem}.nav-toggle{display:block;margin-left:auto;flex:0 0 auto}.nav-links{position:absolute;top:100%;left:0;right:0;display:none;background:var(--brand);flex-direction:column;gap:0;padding:.7rem 0 1rem}.nav-links.open{display:flex}.nav-links a{text-align:center;padding:.7rem 1rem}}@media(max-width:720px){:root{--nav:64px}.brand-switch{font-size:.8rem;gap:.35rem}.hero,.contact-details{background-attachment:scroll}.hero{min-height:500px}.hero-content{padding:5rem 0}.about{padding:3.75rem 20px}.scroll-top{right:18px;bottom:18px}}@media(max-width:480px){.brand-switch{font-size:.74rem}.brand-divider{margin:0 .05rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.001ms!important;animation-duration:.001ms!important}}

/* Terms page refinements */
.terms-heading{background:var(--brand);color:#fff;padding:1.65rem 20px}
.terms-heading h1{margin:0;font-family:"Muli","Open Sans",sans-serif;font-size:clamp(1.65rem,2.5vw,2.05rem);font-weight:600;line-height:1.25}
.terms-content{width:min(980px,calc(100% - 48px));margin:0 auto;padding:2.8rem 0 3.4rem;color:#666;text-align:center;font-family:"Open Sans",Arial,sans-serif;font-size:1.03rem;line-height:1.65}
.terms-content p{margin:0 0 1.4rem}
.terms-content h2{margin:3.35rem 0 1.25rem;color:#4f4f4f;font-family:"Muli","Open Sans",sans-serif;font-size:1.15rem;font-weight:600;line-height:1.35;letter-spacing:.22em}
.terms-content h2:first-of-type{margin-top:3rem}
.terms-content .last-update{margin-bottom:2.25rem;color:#8a8a8a}
.terms-content .back-link{display:inline-block;margin-top:.75rem;color:#448999;font-weight:600}
@media(max-width:720px){.terms-heading{padding:1.4rem 18px}.terms-content{width:calc(100% - 32px);padding:2.3rem 0 2.9rem;font-size:1rem}.terms-content h2{margin-top:2.8rem;letter-spacing:.16em}}
/* Terms v4: full brand background */
.terms-page{
  padding-top:var(--nav);
  min-height:100vh;
  background:var(--brand);
  color:#fff
}
.terms-heading{
  background:var(--brand);
  color:#fff;
  text-align:center;
  padding:1.9rem 20px 1.7rem;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.18)
}
.terms-heading h1{
  margin:0;
  color:#fff;
  font-family:"Muli","Open Sans",sans-serif;
  font-size:clamp(1.75rem,2.6vw,2.15rem);
  font-weight:600;
  line-height:1.25
}
.terms-content{
  width:min(1040px,calc(100% - 56px));
  margin:0 auto;
  padding:3rem 0 3.75rem;
  color:rgba(255,255,255,.94);
  text-align:center;
  font-family:"Open Sans",Arial,sans-serif;
  font-size:1.05rem;
  line-height:1.68
}
.terms-content p{margin:0 0 1.45rem}
.terms-content .last-update{
  margin-bottom:2.3rem;
  color:rgba(255,255,255,.72)
}
.terms-content h2{
  margin:3.75rem 0 1.35rem;
  color:#fff;
  font-family:"Muli","Open Sans",sans-serif;
  font-size:1.2rem;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.22em
}
.terms-content h2:first-of-type{margin-top:3.35rem}
.terms-content .back-link{
  display:inline-block;
  margin-top:1rem;
  color:#fff;
  font-weight:600;
  border-bottom:1px solid rgba(255,255,255,.65)
}
.terms-content .back-link:hover,
.terms-content .back-link:focus-visible{border-bottom-color:#fff}
@media(max-width:720px){
  .terms-heading{padding:1.55rem 18px 1.4rem}
  .terms-content{
    width:calc(100% - 34px);
    padding:2.45rem 0 3rem;
    font-size:1rem
  }
  .terms-content h2{
    margin-top:3rem;
    letter-spacing:.16em
  }
}

/* Final content-width refinements */
.services .section-inner,
.contact-details .section-inner {
  width: min(980px, 100%);
}

.terms-content {
  width: min(920px, calc(100% - 56px));
}

@media (max-width: 720px) {
  .services .section-inner,
  .contact-details .section-inner {
    width: 100%;
  }

  .terms-content {
    width: calc(100% - 36px);
  }
}

/* Secure contact form */
.form-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.form-status {
  min-height: 1.5rem;
  margin: 1rem 0 0;
  text-align: center;
  font-size: .95rem;
}

.form-status.success {
  color: #ffffff;
}

.form-status.error {
  color: #ffffff;
  font-weight: 600;
}



/* Final subtitle sizing */
.services .section-subtitle,
.contact-form-section .section-subtitle{
  font-size:1.18rem;
}


/* Terms footer spacing refinement */
.terms-content{
  padding-bottom:1.6rem;
}
.terms-content .back-link{
  margin-top:.35rem;
}

/* Desktop navigation baseline alignment */
@media (min-width: 941px) {
  .nav-inner {
    align-items: baseline;
  }

  .brand-switch,
  .nav-links {
    align-items: baseline;
  }
}

/* Prevent first-paint font swap in the home hero. */
.js .home-page .hero-content{
  opacity:0;
}
.js.fonts-ready .home-page .hero-content{
  opacity:1;
  transition:opacity .18s ease;
}
@media(prefers-reduced-motion:reduce){
  .js.fonts-ready .home-page .hero-content{
    transition:none;
  }
}
