@charset "UTF-8";
:root {
  color-scheme:dark;
  --bg:#071019;
  --bg-deep:#040a10;
  --surface:#0b1723;
  --ink:#f4f7fa;
  --muted:#aebdc9;
  --cyan:#16d8f3;
  --line:#22313f;
  --max:1240px;
  --font:Arial,Helvetica,sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font);
  font-size:1rem;
  line-height:1.65
}
a {
  color:inherit;
  text-decoration:none
}
button,input,textarea {
  font:inherit
}
img {
  max-width:100%;
  height:auto;
  display:block
}
button,a {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible {
  outline:3px solid var(--cyan);
  outline-offset:6px
}
::selection {
  background:var(--cyan);
  color:var(--bg-deep)
}
.container {
  width:min(var(--max),calc(100% - 112px));
  margin-inline:auto
}
.skip-link {
  position:fixed;
  top:10px;
  left:16px;
  z-index:20;
  background:var(--cyan);
  color:var(--bg-deep);
  padding:12px 20px;
  transform:translateY(-180%)
}
.skip-link:focus {
  transform:none
}
.site-header {
  height:98px;
  border-bottom:1px solid var(--line);
  background:var(--bg-deep);
  position:relative;
  z-index:5
}
.header-inner {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  line-height:1
}
.brand-initials {
  font-size:2.5rem;
  font-style:italic;
  letter-spacing:-.1em;
  color:var(--cyan)
}
.brand-name {
  font-size:1.12rem;
  letter-spacing:.12em
}
.site-header .main-nav {
  display:flex;
  align-items:center;
  gap:36px;
  font-size:.875rem
}
.site-header .main-nav a {
  padding-block:12px
}
.site-header .main-nav a:hover {
  color:var(--cyan)
}
.site-header .nav-contact {
  padding:10px 19px;
  border:1px solid #466173;
  border-radius:3px
}
.hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--bg-deep)
}
.hero-art {
  position:absolute;
  z-index:-2;
  inset:0 0 0 38%;
  background:linear-gradient(135deg,#05111b,#092639 72%,#071019)
}
.hero:after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,#040a10 2%,rgba(4,10,16,.95) 30%,rgba(4,10,16,.66) 56%,rgba(4,10,16,.08)),linear-gradient(0deg,#040a10,transparent 25%)
}
.hero-inner {
  padding-block:78px 74px
}
.eyebrow {
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.75rem;
  font-weight:700;
  line-height:1.5;
  color:var(--cyan);
  margin:0 0 27px;
  display:flex;
  align-items:center;
  gap:12px
}
.small-rule {
  display:inline-block;
  width:30px;
  height:1px;
  background:var(--cyan)
}
h1,h2,h3,p {
  margin-top:0
}
h1 {
  font-size:clamp(2.65rem,5.25vw,4.6rem);
  font-weight:750;
  letter-spacing:-.045em;
  line-height:1.1;
  margin-bottom:27px;
  max-width:860px
}
h1 span,h2 span {
  color:var(--cyan)
}
.hero-copy {
  max-width:480px;
  color:var(--muted);
  font-size:1.0625rem;
  line-height:1.75;
  margin-bottom:31px
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap
}
.button {
  display:inline-flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  padding:13px 23px;
  border-radius:3px;
  font-size:.875rem;
  font-weight:700;
  text-align:center;
  transition:background .18s,box-shadow .18s;
  border:1px solid transparent
}
.button-primary {
  background:var(--cyan);
  color:#031219
}
.button-primary:hover {
  background:#68e8f9;
  box-shadow:0 0 26px #16d8f326
}
.phone-link {
  font-size:1rem;
  font-weight:700;
  letter-spacing:.025em;
  padding:12px 0;
  border-bottom:1px solid #596875
}
.phone-link:hover,.email-link:hover {
  color:var(--cyan)
}
.hero-location {
  font-size:.875rem;
  color:var(--muted);
  margin-top:22px;
  margin-bottom:0
}
.hero-location span {
  margin-inline:8px;
  color:var(--cyan)
}
.hero-bottom {
  border-top:1px solid #244052;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-block:24px;
  font-size:.875rem;
  color:#bdcbd7
}
.hero-bottom b {
  color:var(--cyan);
  font-weight:400;
  margin-inline:9px
}
.hero-bottom-code {
  font-family:monospace;
  color:var(--cyan);
  letter-spacing:.15em;
  white-space:nowrap
}
.section {
  padding-block:92px
}
.section h2 {
  font-size:clamp(2.2rem,3.4vw,3.1rem);
  letter-spacing:-.04em;
  line-height:1.14;
  margin-bottom:22px
}
.section-intro {
  color:var(--muted);
  max-width:510px;
  font-size:1rem
}
.email-link {
  overflow-wrap:anywhere
}
.site-footer {
  border-top:1px solid var(--line);
  padding-block:36px;
  background:var(--bg-deep)
}
.site-footer .container {
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-size:.875rem
}
.site-footer p {
  margin:0;
  color:var(--muted)
}
@media(min-width:1600px) {
  .hero-art {
    inset:0 0 0 30%
  }
}
@media(max-width:900px) {
  .container {
    width:calc(100% - 64px)
  }
  .site-header .main-nav {
    gap:20px
  }
  .hero-inner {
    padding-top:65px
  }
  .hero-art {
    inset:0 0 0 20%
  }
  .hero:after {
    background:linear-gradient(90deg,rgba(4,10,16,.95),rgba(4,10,16,.62)),linear-gradient(0deg,#040a10,transparent 40%)
  }
  .hero-bottom {
    line-height:2
  }
  .hero-bottom-code {
    display:none
  }
}
@media(max-width:650px) {
  html {
    scroll-padding-top:30px
  }
  .container {
    width:calc(100% - 40px)
  }
  .site-header {
    height:80px
  }
  .brand-initials {
    font-size:2rem
  }
  .brand-name {
    font-size:.9rem
  }
  .site-header .main-nav>a:not(.nav-contact) {
    display:none
  }
  .site-header .nav-contact {
    font-size:.8125rem;
    padding:10px 12px
  }
  .header-inner {
    gap:12px
  }
  .eyebrow {
    font-size:.75rem;
    letter-spacing:.1em;
    max-width:310px
  }
  .hero-inner {
    padding-block:54px 46px
  }
  h1 {
    font-size:clamp(2.15rem,8vw,3.2rem);
    letter-spacing:-.045em;
    line-height:1.13
  }
  .hero-copy {
    font-size:1rem;
    max-width:360px
  }
  .hero-actions {
    gap:16px
  }
  .hero-actions .button {
    padding-inline:18px
  }
  .hero-art {
    inset:0;
    opacity:.45
  }
  .hero:after {
    background:linear-gradient(90deg,rgba(4,10,16,.88),rgba(4,10,16,.45)),linear-gradient(0deg,#040a10,transparent 65%)
  }
  .hero-bottom {
    font-size:.8125rem;
    padding-block:20px
  }
  .hero-bottom b {
    margin-inline:4px
  }
  .section {
    padding-block:64px
  }
  .section .eyebrow {
    margin-bottom:20px
  }
  .section h2 {
    font-size:2.25rem
  }
  .site-footer .container {
    display:block
  }
  .site-footer p+p {
    margin-top:12px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}
/* Complete content layout. The static page remains usable without scripts. */
[hidden] {
  display:none!important
}
.brand img {
  width:132px;
  height:66px;
  object-fit:contain
}
.hero-art {
  inset:0 0 0 25%;
  background:var(--bg-deep)
}
.hero-art img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:right center
}
.section-heading {
  display:flex;
  justify-content:space-between;
  gap:64px;
  align-items:flex-end;
  margin-bottom:40px
}
.section-heading h2 {
  margin-bottom:0
}
.section-heading .section-intro {
  max-width:350px;
  margin:0 0 3px
}
.equipment-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  padding:0;
  margin:0;
  list-style:none;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line)
}
.equipment-card {
  position:relative;
  padding:30px 30px 26px;
  min-height:235px;
  background:#0a151f;
  border-bottom:1px solid var(--line);
  border-right:1px solid var(--line)
}
.equipment-icon {
  width:32px;
  height:32px;
  color:var(--cyan);
  margin-bottom:18px
}
.equipment-card h3 {
  font-size:1.125rem;
  line-height:1.35;
  letter-spacing:-.015em;
  margin-bottom:12px;
  font-weight:650
}
.equipment-card p {
  color:var(--muted);
  font-size:.875rem;
  line-height:1.6;
  margin-bottom:0;
  max-width:245px
}
.card-code {
  position:absolute;
  top:28px;
  right:28px;
  color:#8da5b8;
  font-family:monospace;
  font-size:.75rem
}
.section-note {
  display:flex;
  gap:30px;
  justify-content:space-between;
  align-items:center;
  margin-top:25px;
  font-size:.875rem;
  color:var(--muted)
}
.section-note p {
  margin:0
}
.text-link {
  white-space:nowrap;
  color:var(--cyan);
  text-decoration:underline;
  text-underline-offset:5px;
  text-decoration-color:#397985;
  display:inline-flex;
  align-items:center;
  min-height:44px
}
.text-link:hover {
  text-decoration-color:var(--cyan)
}
.approach-section {
  border-block:1px solid var(--line);
  background:var(--bg-deep)
}
.approach-layout {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:100px
}
.approach-intro .section-intro {
  max-width:370px
}
.approach-motto {
  border-left:2px solid var(--cyan);
  padding-left:23px;
  margin-top:38px
}
.approach-motto>span {
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#9cb3c6
}
.approach-motto p {
  font-size:1.25rem;
  line-height:1.5;
  margin:10px 0 0;
  letter-spacing:-.025em
}
.service-list {
  list-style:none;
  margin:0;
  padding:0
}
.service-list li {
  display:flex;
  gap:25px;
  padding:21px 0;
  border-bottom:1px solid var(--line)
}
.service-list li:first-child {
  padding-top:0
}
.service-list li:last-child {
  padding-bottom:0;
  border-bottom:0
}
.step-number {
  font-family:monospace;
  font-size:.8125rem;
  color:var(--cyan);
  padding-top:3px
}
.service-list h3 {
  font-size:1.125rem;
  line-height:1.4;
  margin:0 0 7px
}
.service-list p {
  font-size:.875rem;
  line-height:1.65;
  color:var(--muted);
  margin:0;
  max-width:390px
}
.reasons-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:48px;
  margin-top:46px
}
.reason-mark {
  font-family:monospace;
  color:var(--cyan);
  font-size:.8125rem;
  display:block;
  border-top:1px solid var(--line);
  padding-top:21px;
  margin-bottom:19px
}
.reasons-grid h3 {
  font-size:1.25rem;
  letter-spacing:-.025em;
  line-height:1.45;
  margin-bottom:14px
}
.reasons-grid p {
  font-size:1rem;
  line-height:1.7;
  color:var(--muted);
  margin:0
}
.process-section {
  background:#0c1b28;
  border-block:1px solid #233947
}
.process-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:50px;
  list-style:none;
  padding:0;
  margin:52px 0 28px
}
.process-number {
  display:block;
  font-size:2.75rem;
  color:var(--cyan);
  letter-spacing:-.045em;
  line-height:1;
  margin-bottom:25px;
  font-weight:400
}
.process-grid h3 {
  font-size:1.0625rem;
  line-height:1.5;
  margin-bottom:12px
}
.process-grid p {
  color:#b1c3d2;
  font-size:.9375rem;
  line-height:1.7;
  margin:0
}
.process-note {
  font-size:.8125rem;
  color:#a7bdcd;
  border-top:1px solid #29404f;
  padding-top:24px;
  margin:33px 0 0
}
.contact-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:start
}
.contact-layout h2 {
  font-size:clamp(2.25rem,4vw,3.5rem)
}
.contact-person {
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:31px
}
.person-monogram {
  height:47px;
  width:47px;
  border:1px solid #346274;
  color:var(--cyan);
  display:grid;
  place-items:center;
  font-size:1rem;
  font-weight:700
}
.contact-person strong {
  font-size:1rem;
  display:block
}
.contact-person div>span {
  display:block;
  font-size:.875rem;
  color:var(--muted)
}
.contact-panel {
  padding:36px;
  background:#0c1b28;
  border:1px solid #2b4455;
  border-top:2px solid var(--cyan)
}
.contact-label {
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.75rem;
  color:#a8bdcc;
  margin:0 0 9px
}
.contact-phone {
  font-size:clamp(1.75rem,3vw,2.5rem);
  font-weight:600;
  line-height:1.3;
  letter-spacing:-.04em;
  display:inline-block;
  padding-bottom:4px
}
.contact-phone:hover {
  color:var(--cyan)
}
.contact-divider {
  height:1px;
  background:#29404f;
  margin:24px 0
}
.contact-panel .email-link {
  font-size:1.125rem;
  display:block;
  line-height:1.5;
  padding-block:4px
}
.copy-email {
  background:none;
  border:0;
  color:var(--cyan);
  text-decoration:underline;
  text-underline-offset:4px;
  font-size:.875rem;
  padding:10px 0;
  cursor:pointer;
  min-height:44px
}
.copy-status {
  font-size:.8125rem;
  line-height:1.5;
  color:#bacfdd;
  min-height:1.5em;
  margin:0 0 14px
}
.email-cta {
  width:100%;
  border:1px solid #526a7a
}
.contact-help {
  font-size:.8125rem;
  color:#a8bdcc;
  line-height:1.6;
  margin:12px 0 0
}
.contact-overview .contact-panel { margin-top:32px }
.contact-layout>* { min-width:0 }
.contact-form h3 { margin:0; font-size:1.5rem; line-height:1.3; letter-spacing:-.03em }
.form-intro { color:var(--muted); font-size:.9375rem; line-height:1.6; margin:12px 0 }
.form-required { color:var(--muted); font-size:.75rem; margin:0 0 24px }
.form-fields { padding:0; margin:0; border:0; min-width:0 }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px }
.form-field { margin-bottom:20px; min-width:0 }
.form-field label { display:block; font-size:.875rem; font-weight:600; margin-bottom:8px }
.form-field label span { font-weight:400; color:var(--muted); font-size:.75rem }
.form-field input,.form-field textarea { display:block; width:100%; min-width:0; background:#07121c; border:1px solid #526a7a; border-radius:4px; color:var(--ink); padding:12px; font-size:1rem; line-height:1.5 }
.form-field textarea { resize:vertical; min-height:250px }
.form-field input:hover,.form-field textarea:hover { border-color:#8babbc }
.field-help { color:var(--muted); font-size:.8125rem; line-height:1.5; margin:0 0 10px }
.form-privacy { margin:0 0 22px; font-size:.75rem; color:#b1c5d2; line-height:1.6 }
.form-privacy a { text-decoration:underline; text-underline-offset:3px }
.form-submit { width:100%; border:0; cursor:pointer; white-space:normal }
.form-submit:disabled { cursor:default; opacity:.7 }
.form-status { margin:14px 0 0; font-size:.875rem; line-height:1.5 }
.form-status:empty { margin:0 }
.form-status[data-state="success"] { color:#89ebc9 }
.form-status[data-state="error"] { color:#ffc4b7 }
.form-honeypot { display:none }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0 }
@media (max-width:1050px) { .form-row { grid-template-columns:1fr; gap:0 } }
@media (min-width:550px) and (max-width:800px) { .form-row { grid-template-columns:1fr 1fr; gap:18px } }
.contact-details {
  border-block:1px solid var(--line);
  margin-top:49px;
  font-size:.9375rem
}
.contact-details summary {
  cursor:pointer;
  padding:22px 6px;
  color:#dbe8f1;
  list-style-position:inside;
  min-height:60px
}
.contact-details summary::marker {
  color:var(--cyan)
}
.details-content {
  padding:0 24px 22px;
  color:var(--muted);
  max-width:900px
}
.details-content ul {
  padding-left:21px;
  margin-top:0
}
.details-content li {
  padding-bottom:7px
}
.details-content p {
  margin-bottom:0
}
.site-footer .footer-main {
  align-items:center;
  padding-bottom:27px
}
.site-footer .brand img {
  width:112px;
  height:56px
}
.site-footer .footer-main p {
  font-size:.8125rem;
  letter-spacing:.035em
}
.footer-top {
  font-size:.8125rem;
  text-decoration:underline;
  text-underline-offset:5px;
  min-height:44px;
  display:flex;
  align-items:center;
  color:var(--muted)
}
.footer-top:hover {
  color:var(--cyan)
}
.site-footer .footer-bottom {
  font-size:.75rem;
  border-top:1px solid var(--line);
  padding-top:23px
}
.mobile-contact-bar {
  display:none
}
@media(max-width:1050px) {
  .section-heading {
    gap:40px
  }
  .approach-layout {
    gap:50px
  }
  .contact-layout {
    gap:45px
  }
  .reasons-grid,.process-grid {
    gap:30px
  }
  .equipment-card {
    padding:25px
  }
}
@media(max-width:800px) {
  .section-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:20px
  }
  .section-heading .section-intro {
    max-width:530px
  }
  .equipment-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .section-note {
    align-items:flex-start;
    flex-direction:column;
    gap:5px
  }
  .approach-layout {
    grid-template-columns:1fr;
    gap:44px
  }
  .approach-intro .section-intro {
    max-width:550px
  }
  .service-list p {
    max-width:none
  }
  .approach-motto {
    margin-top:26px
  }
  .contact-layout {
    grid-template-columns:1fr;
    gap:35px
  }
  .reasons-grid,.process-grid {
    gap:24px
  }
  .reasons-grid h3 {
    font-size:1.125rem
  }
  .contact-panel {
    max-width:600px;
    width:100%
  }
  .site-footer .footer-main {
    flex-wrap:wrap
  }
  .site-footer .footer-main p {
    flex:1;
    text-align:right
  }
  .contact-phone {
    font-size:2.5rem
  }
}
@media(max-width:650px) {
  body {
    padding-bottom:calc(67px + env(safe-area-inset-bottom,0px))
  }
  .brand img {
    width:112px;
    height:56px
  }
  .hero-art {
    inset:0;
    opacity:.7
  }
  .hero-art img {
    object-position:70% center
  }
  .section-heading {
    margin-bottom:29px
  }
  .equipment-card {
    padding:22px 17px;
    min-height:240px
  }
  .equipment-card h3 {
    font-size:1rem
  }
  .equipment-card p {
    font-size:.875rem
  }
  .card-code {
    top:23px;
    right:16px;
    font-size:.75rem
  }
  .equipment-icon {
    margin-bottom:15px;
    width:28px;
    height:28px
  }
  .reasons-grid {
    grid-template-columns:1fr;
    gap:30px;
    margin-top:30px
  }
  .reasons-grid h3 {
    font-size:1.25rem
  }
  .reasons-grid h3 br {
    display:none
  }
  .reason-mark {
    margin-bottom:12px
  }
  .process-grid {
    grid-template-columns:1fr;
    gap:31px;
    margin-top:30px
  }
  .process-grid li {
    position:relative;
    padding-left:59px;
    min-height:70px
  }
  .process-number {
    position:absolute;
    left:0;
    top:1px;
    font-size:2rem
  }
  .process-grid h3 {
    font-size:1.0625rem
  }
  .process-note {
    margin-top:30px
  }
  .contact-panel {
    padding:28px 23px
  }
  .contact-phone {
    font-size:2.125rem
  }
  .contact-panel .email-link {
    font-size:1.0625rem
  }
  .contact-details {
    margin-top:32px
  }
  .contact-details summary {
    font-size:.875rem
  }
  .details-content {
    padding-inline:6px
  }
  .site-footer .footer-main {
    display:flex;
    align-items:center;
    gap:20px
  }
  .site-footer .footer-main p {
    flex-basis:100%;
    order:3;
    text-align:left;
    font-size:.75rem;
    margin:0
  }
  .footer-top {
    margin-left:auto
  }
  .site-footer .footer-bottom {
    display:flex;
    gap:12px;
    font-size:.75rem
  }
  .site-footer .footer-bottom p+p {
    margin:0
  }
  .mobile-contact-bar {
    position:fixed;
    z-index:10;
    bottom:0;
    left:0;
    right:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:10px 15px calc(10px + env(safe-area-inset-bottom,0px));
    background:#071019;
    border-top:1px solid #345367
  }
  .mobile-contact-bar a {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    font-size:.8125rem;
    font-weight:700;
    border:1px solid #416475;
    border-radius:3px
  }
  .mobile-contact-bar a:first-child {
    background:var(--cyan);
    border-color:var(--cyan);
    color:#031219
  }
  .section h2 {
    font-size:clamp(1.95rem,7.6vw,2.6rem)
  }
  .section-heading h2 br {
    display:none
  }
}
@media(max-width:359px) {
  .equipment-grid {
    grid-template-columns:1fr
  }
  .equipment-card {
    min-height:unset
  }
  .equipment-card h3 br {
    display:none
  }
  .hero-actions {
    display:block
  }
  .phone-link {
    display:inline-block;
    margin-top:7px
  }
  .contact-panel {
    padding:23px 18px
  }
  .contact-panel .email-link {
    font-size:1rem
  }
  .contact-phone {
    font-size:1.85rem
  }
  .contact-person div>span {
    font-size:.8125rem
  }
}
@media print {
  body {
    background:white;
    color:black;
    padding:0;
    font-size:11pt
  }
  a {
    color:black
  }
  h1 span,h2 span,.eyebrow {
    color:#07556b
  }
  .container {
    width:100%
  }
  .hero-art,.hero:after,.site-header .main-nav,.mobile-contact-bar,.copy-email,.skip-link,.footer-top {
    display:none
  }
  .site-header,.hero,.approach-section,.process-section,.contact-panel,.equipment-card,.site-footer {
    background:white
  }
  .section,.hero-inner {
    padding-block:24px
  }
  p,.section-intro,.hero-copy,.equipment-card p,.service-list p,.reasons-grid p,.process-grid p,.contact-help {
    color:#333
  }
  .button {
    border:1px solid black;
    background:white;
    color:black
  }
  .equipment-card,.service-list li,.process-grid li {
    break-inside:avoid
  }
  .hero-bottom {
    display:block
  }
  .hero-bottom-code {
    display:none
  }
}
/* Preserve word boundaries and natural wrapping at narrow widths and text zoom. */
.section-heading>div,.contact-layout>div {
  min-width:0;
  max-width:100%
}
@media(max-width:650px) {
  .section-heading h2 br {
    display:initial
  }
  .site-footer .footer-main p {
    overflow-wrap:anywhere
  }
}
/* Content grows with the reader's text size, including 200% enlargement. */
h1,h2,h3 {
  overflow-wrap:anywhere
}
.site-header {
  height:auto;
  min-height:98px;
  padding-block:16px
}
.header-inner {
  height:auto;
  min-height:66px
}
.service-list li>div {
  min-width:0
}
@media(max-width:650px) {
  .site-header {
    min-height:80px;
    padding-block:12px
  }
  .header-inner {
    min-height:56px
  }
  body {
    padding-bottom:calc(4.2rem + env(safe-area-inset-bottom,0px))
  }
}
@media(max-width:359px) {
  .equipment-grid {
    grid-template-columns:minmax(0,1fr)
  }
  .equipment-card h3 br {
    display:initial
  }
}
@media print {
  body {
    padding-bottom:0
  }
  .site-header {
    min-height:0
  }
}

/* The language choices stay visible on every screen and work without scripts. */
.header-actions {
  display:flex;
  align-items:center;
  gap:26px;
  min-width:0
}
.language-switch {
  display:flex;
  flex-shrink:0;
  gap:2px;
  padding:3px;
  border:1px solid #466173;
  border-radius:4px;
  font-size:.875rem;
  line-height:1
}
.language-switch a {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:2.75rem;
  min-height:2.75rem;
  padding:.5rem;
  border-radius:2px;
  font-weight:700
}
.language-switch a:hover {
  color:var(--cyan)
}
.language-switch a[aria-current="page"] {
  color:var(--bg-deep);
  background:var(--cyan)
}
@media(max-width:1000px) {
  .site-header .main-nav>a:not(.nav-contact) {
    display:none
  }
}
@media(max-width:650px) {
  .site-header .main-nav {
    display:none
  }
  .header-inner {
    flex-wrap:wrap
  }
  .header-actions {
    margin-left:auto
  }
}
@media print {
  .header-actions {
    display:none
  }
}
