:root {
  --ink: #0a1822;
  --blue: #0e7197;
  --purple: #18384b;
  --orange: #79d5ee;
  --coral: #78a9ba;
  --paper: #f1f5f6;
  --line: rgba(16,42,56,.14);
  --muted: #566b76;
  --white: #fff;
  --metal: linear-gradient(135deg,#f9fbfc 0%,#e8eef0 42%,#cfdadd 100%);
  --water: linear-gradient(135deg,#0a2433 0%,#0d5572 55%,#1688aa 100%);
  --glass: rgba(255,255,255,.76);
  --shadow: 0 24px 70px rgba(6,31,44,.12);
}

html { background: #eef3f5; }
body { color: var(--ink); background: linear-gradient(180deg,#f9fbfc 0,#edf3f5 100%); }
.button { min-height: 50px; padding: 14px 22px; border: 1px solid rgba(12,49,67,.22); border-radius: 999px; letter-spacing: -.01em; transition: transform .2s,box-shadow .2s,background .2s; }
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(5,39,57,.16); }
.button-primary { background: linear-gradient(135deg,#0b5e82,#1594b6); border-color: transparent; box-shadow: 0 12px 32px rgba(9,103,139,.24); }
.button-secondary { background: rgba(255,255,255,.7); backdrop-filter: blur(12px); }
.kicker,.service-label,.eyebrow { color: #1781a7; }
.eyebrow i { border-radius: 50%; background: #65d2f0; box-shadow: 0 0 0 6px rgba(101,210,240,.14); }

/* white logo plate, floating above the darker technical atmosphere */
.site-header,.service-header { background: rgba(255,255,255,.93); border-color: rgba(14,47,63,.11); box-shadow: 0 7px 30px rgba(7,33,47,.06); backdrop-filter: blur(18px) saturate(1.15); }
.site-header { top: 0; }
.desktop-nav a::after { height: 1px; background: #1584a9; }
.header-contact a,.service-header-phone { color: #0d6f95; }

/* main hero: liquid metal and water, with the instrument floating in space */
.hero { color: #f7fbfd; background: #071b28; }
.hero::before { inset: 0; width: auto; height: auto; background: linear-gradient(90deg,rgba(4,18,27,.98) 0%,rgba(5,25,37,.88) 43%,rgba(4,22,33,.22) 78%,rgba(4,18,27,.45) 100%),url('/assets/metal-water-atmosphere-v2.png') center/cover no-repeat; }
.hero-inner { position: relative; z-index: 1; min-height: 585px; }
.hero .eyebrow { color: rgba(241,250,253,.9); }
.hero h1 { max-width: 820px; font-weight: 720; letter-spacing: -.065em; }
.hero h1 em { color: #80def3; }
.hero-offer { border-left-color: #69d5ef; }
.hero-offer strong { color: #8fe6f7; }
.hero-lead { color: rgba(236,247,251,.72); }
.hero-meta { border-color: rgba(255,255,255,.2); }
.hero-meta div { border-color: rgba(255,255,255,.18); }
.hero-meta span { color: rgba(235,247,251,.62); }
.hero-copy .button-secondary { color: #f5fbfd; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.34); }
.hero-visual::before { inset: 55px 15px 45px 48px; border: 1px solid rgba(206,240,250,.24); border-radius: 46% 54% 60% 40% / 42% 40% 60% 58%; background: linear-gradient(145deg,rgba(255,255,255,.14),rgba(86,188,220,.04)); box-shadow: inset 0 1px 0 rgba(255,255,255,.24),0 32px 80px rgba(0,0,0,.24); backdrop-filter: blur(8px); }
.visual-orbit { border-color: rgba(188,235,248,.28); }
.visual-orbit::before { border-color: rgba(188,235,248,.14); }
.visual-orbit::after { border-radius: 50%; background: #7adcf3; box-shadow: 0 0 24px rgba(122,220,243,.7); }
.visual-accent { display: none; }
.hero-visual > img { filter: drop-shadow(0 28px 25px rgba(0,0,0,.4)) saturate(.9); }
.floating-card { overflow: hidden; min-width: 220px; color: #f7fbfd; background: rgba(8,31,43,.66); border: 1px solid rgba(215,244,252,.28); border-radius: 18px; box-shadow: 0 18px 45px rgba(0,0,0,.26); backdrop-filter: blur(18px); }
.floating-card b { color: #f5fcfe; }
.floating-card span { color: rgba(231,247,251,.62); }
.floating-card-bottom { box-shadow: 0 18px 45px rgba(0,0,0,.26); }
.floating-card-bottom span { margin: 4px 0 0; }

.theses { position: relative; z-index: 2; padding: 0 0 28px; background: transparent; }
.theses .container { padding: 24px; background: rgba(10,34,47,.82); border: 1px solid rgba(201,238,247,.18); border-radius: 28px; box-shadow: 0 30px 70px rgba(0,0,0,.22); backdrop-filter: blur(20px); }
.theses-heading { display: none; }
.theses-grid { gap: 12px; }
.theses-grid article,.theses-grid .thesis-featured { min-height: 165px; color: #eff9fc; background: linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025)); border: 1px solid rgba(219,245,251,.14); border-radius: 20px; }
.theses-grid .thesis-featured { background: linear-gradient(145deg,rgba(80,186,218,.25),rgba(255,255,255,.045)); }
.thesis-icon { color: #8de4f7; }
.thesis-featured .thesis-icon { color: #8de4f7; border-color: rgba(219,245,251,.35); }
.theses-grid h3 { font-weight: 650; }

/* calm modular surfaces instead of hard editorial boxes */
.numbers { padding: 28px 0 76px; background: #f4f7f8; }
.numbers-grid { gap: 10px; }
.number-item { min-height: 205px; padding: 26px; background: rgba(255,255,255,.82); border: 1px solid rgba(17,53,69,.1) !important; border-radius: 20px; box-shadow: 0 12px 35px rgba(8,36,49,.055); }
.number-item-accent { color: #effaff; background: var(--water); }
.number-item-accent span { color: rgba(239,250,255,.68); }
.number-item-accent i { color: #94e8f7; }

.section { padding: 108px 0; }
.section-heading h2,.workflow h2,.company h2,.contact-section h2,.trust-heading h2,.model-links-heading h2 { font-weight: 680; }
.services { background: linear-gradient(180deg,#f7f9fa,#eaf1f3); }
.service-grid { gap: 14px; }
.service-card { overflow: hidden; background: rgba(255,255,255,.82); border: 1px solid rgba(14,48,64,.11); border-radius: 28px; box-shadow: 0 18px 55px rgba(7,34,48,.075); }
.service-card-featured { background: rgba(255,255,255,.92); }
.service-image { overflow: hidden; background: radial-gradient(circle at 50% 42%,rgba(255,255,255,.98) 0 20%,rgba(184,218,228,.58) 54%,rgba(111,169,187,.28) 100%); }
.service-image::before { inset: 13% 12%; width: auto; height: auto; border-radius: 48% 52% 45% 55% / 55% 43% 57% 45%; background: linear-gradient(145deg,rgba(255,255,255,.86),rgba(156,206,220,.13)); border: 1px solid rgba(12,89,116,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.service-image img { filter: drop-shadow(0 24px 18px rgba(5,36,49,.2)) saturate(.78); }
.service-index { color: #1681a5; }
.service-content a { color: #0c7198; border-bottom-color: rgba(18,119,154,.32); }
.service-card-dark { background: linear-gradient(145deg,rgba(5,31,45,.98),rgba(12,79,101,.96)),url('/assets/metal-water-atmosphere-v2.png') center/cover; border-color: rgba(255,255,255,.12); }
.service-card-dark .service-index,.service-card-dark a { color: #8ce6f7; }
.service-orbit i { border-radius: 50%; background: #72d7ef; }
.direction-links { margin-top: 16px; gap: 10px; border: 0; }
.direction-links > a { min-height: 190px; border: 1px solid rgba(13,50,66,.11); border-radius: 22px; background: rgba(255,255,255,.72); box-shadow: 0 14px 36px rgba(7,37,50,.055); }
.direction-links > a:hover,.direction-links > a:focus-visible { color: #f3fbfd; background: linear-gradient(135deg,#0c5574,#138bad); }

.workflow { position: relative; overflow: hidden; background: #071c29 url('/assets/metal-water-atmosphere-v2.png') center/cover fixed; }
.workflow::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,20,30,.96),rgba(5,35,50,.83)); }
.workflow .container { position: relative; z-index: 1; }
.kicker-light,.workflow-steps > li > span { color: #85e2f5; }
.workflow-steps { border-color: rgba(255,255,255,.18); }
.workflow-steps li { margin-bottom: 10px; padding-inline: 22px; border: 1px solid rgba(219,244,250,.13); border-radius: 18px; background: rgba(255,255,255,.06); backdrop-filter: blur(15px); }
.workflow-steps li:last-child { border: 1px solid rgba(219,244,250,.13); }
.text-link { border-bottom-color: #78d9ef; }

.equipment { background: #f7f9fa; }
.equipment-catalog { display: grid; gap: 10px; border: 0; }
.equipment-panel { overflow: hidden; border: 1px solid rgba(15,51,68,.12); border-radius: 20px; background: rgba(255,255,255,.86); box-shadow: 0 10px 32px rgba(7,34,46,.045); }
.equipment-panel header { border-color: rgba(15,51,68,.1); }
.equipment-panel-featured header { color: #f2fbfd; background: linear-gradient(135deg,#0b445f,#0e789b); }
.equipment-panel-featured header b { color: #9ae9f7; }
.cta-icon { color: #eefaff; background: linear-gradient(135deg,#0c6083,#1a9abd); border-radius: 50%; }
.model-links { background: linear-gradient(180deg,#edf3f5,#f9fbfc); }
.model-links-grid { gap: 8px; border: 0; }
.model-links-grid a { border: 1px solid rgba(13,49,65,.11); border-radius: 16px; background: rgba(255,255,255,.78); }
.model-links-grid a:hover,.model-links-grid a:focus-visible { color: #effbfe; background: linear-gradient(135deg,#0d5877,#168dad); }
.model-links-grid a:hover span,.model-links-grid a:focus-visible span { color: #91e8f8; }

.company { background: #f8fafb; }
.company-links a,.company-links button { border-bottom-color: rgba(16,121,156,.35); }
.reasons-grid { gap: 10px; border: 0; }
.reasons-grid article { border: 1px solid rgba(15,51,68,.11); border-radius: 20px; background: rgba(255,255,255,.82); box-shadow: 0 12px 34px rgba(6,34,48,.05); }
.reasons-grid article:nth-child(2) { background: linear-gradient(145deg,#0c293b,#0e6788); }
.reasons-grid article:nth-child(2) > span { color: #83e0f3; }
.reasons-grid article:last-child { color: #effbfe; background: linear-gradient(135deg,#0b5b7b,#1792b3); }
.reasons-grid article:last-child p { color: rgba(239,251,254,.68); }

.trust-section { background: linear-gradient(180deg,#eaf1f3,#f7f9fa); border-color: rgba(15,51,68,.1); }
.document-group-title { border-color: rgba(10,38,52,.28); }
.document-card { overflow: hidden; border: 1px solid rgba(15,51,68,.11); border-radius: 16px; box-shadow: 0 12px 34px rgba(5,31,44,.06); }
.document-card:hover,.document-card:focus-visible { transform: translateY(-5px); box-shadow: 0 24px 50px rgba(5,42,58,.14); }
.partner-logo-grid { gap: 8px; border: 0; }
.partner-logo-grid > div { border: 1px solid rgba(15,51,68,.1); border-radius: 16px; }

.contact-section,.service-cta { position: relative; overflow: hidden; color: #f3fbfd; background: #071c29 url('/assets/metal-water-atmosphere-v2.png') center/cover; }
.contact-section::before,.service-cta::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,20,30,.97),rgba(5,43,60,.78)); }
.contact-layout,.service-cta .container { position: relative; z-index: 1; }
.contact-layout::before { color: rgba(211,243,251,.05); }
.contact-section .kicker,.service-cta .service-label { color: #83e1f4; }
.contact-main .button-primary { color: #092233; background: #dff7fc; border-color: transparent; }
.contact-main .button-secondary { color: #f2fbfd; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.35); }
.contact-card { color: #edf9fc; background: rgba(7,32,45,.64); border: 1px solid rgba(222,246,252,.22); border-radius: 24px; box-shadow: 0 26px 70px rgba(0,0,0,.3); backdrop-filter: blur(20px); }
.contact-row { border-color: rgba(255,255,255,.14); }
.contact-row > span,.contact-row-inline span { color: #85e3f5; }
.contact-row > a { color: #91e6f5; }
.service-cta-phone { color: #f5fcfe; }
.service-cta p,.service-cta a { color: inherit; }
.lead-modal { border: 1px solid rgba(13,52,68,.18); border-radius: 24px; box-shadow: 0 35px 100px rgba(3,28,40,.3); }
.modal-close { border-color: rgba(11,44,59,.18); border-radius: 50%; }
.mobile-call-bar a { border-radius: 999px; background: linear-gradient(135deg,#0b5e82,#1594b6); }

/* inner service and direction pages */
.service-page { background: linear-gradient(180deg,#f7f9fa,#eaf1f3); }
.service-hero,.direction-hero { background: transparent; }
.service-hero-grid,.direction-hero-grid { overflow: hidden; border: 1px solid rgba(14,50,66,.11); border-radius: 30px; background: rgba(255,255,255,.8); box-shadow: var(--shadow); }
.service-hero-copy,.direction-hero-copy { padding-left: 48px; }
.service-hero-art,.direction-hero-art { background: linear-gradient(145deg,rgba(5,31,45,.9),rgba(11,91,117,.7)),url('/assets/metal-water-atmosphere-v2.png') center/cover; }
.service-hero-art::before,.direction-hero-art::before { border-color: rgba(210,243,250,.25); }
.service-hero-art::after { display: none; }
.service-offer { border-left-color: #34a6c8; }
.service-offer strong { color: #0a789e; }
.service-facts,.direction-facts { margin-top: 18px; color: var(--ink); background: transparent; }
.service-facts-grid,.direction-facts .container { gap: 10px; }
.service-facts-grid > div,.direction-facts article { color: var(--ink); background: rgba(255,255,255,.8); border: 1px solid rgba(13,50,66,.1) !important; border-radius: 18px; box-shadow: 0 10px 30px rgba(7,34,46,.05); }
.service-facts b,.direction-facts article > b { color: #1181a7; }
.service-facts b,.direction-facts article > b,.service-process li > b,.direction-work-grid span,.direction-package-grid span { display: none; }
.service-facts span,.direction-facts p { color: var(--muted); }
.service-content-section,.direction-work { background: transparent; }
.service-instrument-strip,.direction-visual-panel { background: radial-gradient(circle at 50% 38%,#fff 0,rgba(210,229,234,.78) 65%,rgba(170,204,214,.42)); border: 1px solid rgba(14,50,66,.1); border-radius: 24px; }
.direction-visual-panel::before { background: rgba(67,160,190,.1); }
.service-description-lead,.service-model-card,.service-input-card,.direction-work-grid article { border: 1px solid rgba(14,50,66,.1); border-radius: 18px; }
.service-description-lead { background: rgba(255,255,255,.8); border-top: 1px solid rgba(14,50,66,.1); }
.service-model-card { background: linear-gradient(145deg,#0b3349,#0d789a); }
.service-work-grid,.direction-work-grid { gap: 10px; border: 0; }
.direction-work-grid article { background: rgba(255,255,255,.82); box-shadow: 0 10px 28px rgba(6,34,47,.045); }
.direction-work-grid span { color: #1181a7; }
.service-process,.direction-packages { position: relative; overflow: hidden; background: #081e2b url('/assets/metal-water-atmosphere-v2.png') center/cover; }
.service-process::before,.direction-packages::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,20,30,.96),rgba(5,48,66,.79)); }
.service-process .container,.direction-packages .container { position: relative; z-index: 1; }
.service-process .service-label,.direction-packages .service-label,.service-process li > b,.direction-package-grid span { color: #88e2f4; }
.service-process ol,.direction-package-grid { gap: 8px; border: 0; }
.service-process li,.direction-package-grid article { border: 1px solid rgba(218,246,252,.15); border-radius: 16px; background: rgba(255,255,255,.06); backdrop-filter: blur(12px); }
.service-other { background: transparent; }
.service-other nav { gap: 8px; border: 0; }
.service-other nav a { border: 1px solid rgba(14,50,66,.1); border-radius: 14px; background: rgba(255,255,255,.72); }
.service-other nav a:hover { color: #f2fbfd; background: linear-gradient(135deg,#0c5b7a,#158bab); }
.service-footer { background: rgba(255,255,255,.82); }

@media (max-width: 940px) {
  .hero { padding-top: 112px; }
  .hero::before { background: linear-gradient(90deg,rgba(4,18,27,.97),rgba(5,31,44,.78)),url('/assets/metal-water-atmosphere-v2.png') center/cover; }
  .theses .container { border-radius: 22px; }
  .theses-grid { gap: 8px; }
  .numbers-grid { gap: 8px; }
  .service-hero-copy,.direction-hero-copy { padding-left: 36px; padding-right: 36px; }
}

@media (max-width: 700px) {
  .site-header,.service-header { background: rgba(255,255,255,.97); }
  .hero { padding-top: 86px; }
  .hero-inner { min-height: 0; padding-bottom: 10px; }
  .hero h1 { color: #f7fbfd; }
  .hero-meta div { border-color: rgba(255,255,255,.16); }
  .theses { padding: 10px 0 18px; }
  .theses .container { padding: 10px; border-radius: 18px; }
  .theses-grid article,.theses-grid .thesis-featured { min-height: 76px; border-radius: 13px; }
  .numbers { padding: 16px 0 62px; }
  .number-item { min-height: 150px; border-radius: 16px; }
  .service-card { border-radius: 22px; }
  .direction-links > a { border-radius: 18px; }
  .workflow { background-attachment: scroll; }
  .equipment-panel { border-radius: 16px; }
  .model-links-grid a { border-radius: 13px; }
  .reasons-grid article { border-radius: 17px; }
  .contact-section { background-position: 65% center; }
  .contact-card { border-radius: 18px; }
  .service-hero-grid,.direction-hero-grid { border-radius: 22px; }
  .service-hero-copy,.direction-hero-copy { padding-left: 20px; padding-right: 20px; }
  .direction-hero h1 { font-size: 34px; overflow-wrap: normal; word-break: normal; hyphens: none; letter-spacing: -.052em; }
  .service-facts,.direction-facts { margin-top: 10px; }
  .service-facts-grid,.direction-facts .container { gap: 7px; }
}

:focus-visible { outline-color: #42bddd; }
