:root{--navy:#101e30;--ink:#172a3e;--muted:#42576a;--blue:#075f60;--cyan:#67ead7;--line:#c9dde1;--ice:#eaf4f4;--white:#fff;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:#f4f9f9;color:var(--ink);font:1rem/1.6 system-ui,sans-serif;display:flex;flex-direction:column;min-height:100vh}main{flex:1}a{color:var(--blue);text-underline-offset:.2em}a:focus-visible{outline:3px solid #ac4b19;outline-offset:4px}.wrap{width:min(1120px,calc(100% - 2.5rem));margin:auto}.skip{position:absolute;left:1rem;top:-5rem;background:white;padding:.5rem;z-index:1}.skip:focus{top:.5rem}
header{background:white;border-bottom:1px solid var(--line)}.header,.foot,nav,.actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.header,.foot{justify-content:space-between;padding:.7rem 0}.brand img{display:block;width:clamp(150px,19vw,218px);height:auto}nav a{font-weight:650;font-size:.94rem;text-decoration:none;padding:.35rem .1rem}nav a:hover,nav a[aria-current]{text-decoration:underline}
.hero{color:white;background:radial-gradient(ellipse at 94% 0%,#116469,transparent 70%),var(--navy)}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(1.5rem,6vw,5rem);align-items:center;padding:clamp(3rem,9vw,7rem) 0}.eyebrow{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:var(--blue);margin:0 0 .7rem}.hero .eyebrow{color:var(--cyan)}h1,h2,h3{line-height:1.13;margin:0 0 1rem;letter-spacing:-.025em}h1{font-size:clamp(2.45rem,5.6vw,4.65rem);text-wrap:balance}h2{font-size:clamp(1.65rem,3vw,2.45rem)}h3{font-size:1.42rem}.lead{font-size:clamp(1.05rem,2vw,1.25rem);max-width:58ch;margin:0 0 1.6rem;color:var(--muted)}.hero .lead{color:#daebf3}
.process{border:1px solid #6195ac;border-radius:1.15rem;padding:1.5rem;background:#ffffff0a}.process ol{padding-left:1.5rem;margin:0}.process li{padding:.65rem .4rem}.process li+li{border-top:1px solid #6195ac}.process span{display:block;color:#daebf3;font-size:.92rem}.button{display:inline-block;border:1px solid var(--blue);border-radius:.5rem;padding:.64rem 1rem;background:var(--blue);color:white;text-decoration:none;font-weight:750}.button:hover{filter:brightness(1.13)}.outline{background:transparent;color:var(--blue)}.hero .button{background:var(--cyan);border-color:var(--cyan);color:var(--navy)}.hero .outline{background:transparent;color:white}
.section{padding:clamp(2.5rem,6vw,5rem) 0}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.6rem}.card{background:white;border:1px solid var(--line);border-radius:.9rem;padding:clamp(1.15rem,3vw,1.8rem)}.card p:not(.eyebrow){color:var(--muted)}.card a{font-weight:750}.detail{max-width:900px}figure{margin:2rem 0 0}iframe{display:block;width:100%;aspect-ratio:16/9;background:var(--navy);border:0;border-radius:.8rem}figcaption{padding:.65rem 0;color:var(--muted)}footer{background:var(--ice);border-top:1px solid var(--line)}.foot{padding:1.25rem 0}
@media(max-width:680px){.hero-grid,.cards{grid-template-columns:1fr}.header{gap:.3rem}nav{gap:.35rem .8rem}.process{padding:1rem}}

.inquiry-form{display:grid;gap:1rem;margin-top:1.5rem}
.inquiry-form label{display:grid;gap:.35rem;font-weight:700}
.inquiry-form input,.inquiry-form textarea{width:100%;padding:.65rem .75rem;font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:.4rem}
.inquiry-form textarea{resize:vertical}
.inquiry-form button{justify-self:start;cursor:pointer}
.inquiry-form button:disabled{opacity:.65;cursor:default}

/* Graphite navy, bright teal and amber for service navigation. */
header{border-bottom:3px solid var(--cyan)}
nav a[aria-current]{color:var(--navy);background:var(--ice);border-radius:.4rem;padding:.35rem .5rem;text-decoration-thickness:2px}
.hero .button:not(.outline){background:#ffc16c;border-color:#ffc16c}
.card{border-top:3px solid #129b90;box-shadow:0 .35rem 1.2rem #102d3710}
.detail h1{border-bottom:4px solid #129b90;padding-bottom:.4rem}
.detail h2{margin-top:2rem}

.equipment-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}

.services-menu{position:relative;color:var(--blue)}
.services-menu summary{cursor:pointer;font-weight:650;font-size:.94rem;padding:.35rem .1rem}
.services-links{position:absolute;top:100%;left:0;z-index:4;display:grid;min-width:14rem;padding:.4rem;background:var(--white);border:1px solid var(--line);border-radius:.5rem;box-shadow:0 .5rem 1.4rem #102d3726}
.services-links a{display:block;padding:.35rem .6rem}
.services-menu summary:focus-visible{outline:3px solid #ac4b19;outline-offset:4px}

@media(max-width:680px){
  .header{position:relative}
  .services-menu{position:static}
  .services-links{left:0;right:0;min-width:0}
}

.handoff-hero{grid-template-columns:1fr}
.handoff-hero h1{max-width:24ch}
.hero-phone{color:white;font-weight:700}
.service-group{margin-top:2rem}
.service-group h4{font-size:1.22rem;margin:0}
.service-group .cards{margin-top:.7rem}
.workflow ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.workflow li{background:var(--white);border:1px solid var(--line);border-top:3px solid #129b90;border-radius:.7rem;padding:1rem}
.workflow span{display:block;color:var(--muted)}
@media(max-width:760px){.workflow ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:400px){.workflow ol{grid-template-columns:1fr}}

.service-tiles .card h2{font-size:1.35rem;margin-top:0}
.service-tiles .card p:last-child{margin-bottom:0}
.service-tiles .service-video-tile{grid-column:1/-1}
.service-tiles figure{margin:1rem 0 0}
