:root{--color-primary:#009aa6;--color-secondary:#f4a928;--color-dark:#06233f;--color-surface:#f5f8fb;--text:#142033;--border:#dbe5ee;--font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family);color:var(--text);background:#fff;line-height:1.6}a{color:inherit}.container{width:min(1180px,92vw);margin:0 auto}.topbar{background:var(--color-dark);color:#fff;font-size:14px}.topbar .container{display:flex;justify-content:space-between;gap:16px;padding:8px 0}.site-header{position:sticky;top:0;background:#fff;z-index:20;border-bottom:1px solid var(--border)}.navwrap{display:flex;align-items:center;gap:22px;min-height:76px}.logo{display:flex;align-items:center;gap:10px;text-decoration:none}.logo span{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:var(--color-primary);color:#fff;font-weight:800}.logo img{max-height:44px}.main-nav{display:flex;gap:18px;margin-left:auto}.main-nav a{text-decoration:none;font-weight:650}.lang-switch{display:flex;gap:6px}.lang-switch a{padding:6px 8px;border:1px solid var(--border);border-radius:6px;text-decoration:none;font-size:13px}.menu-toggle{display:none}.page-hero{background:linear-gradient(135deg,#eef7f8,#fff);padding:82px 0}.page-hero h1,.hero h1{font-size:clamp(36px,5vw,68px);line-height:1.05;margin:8px 0 14px}.eyebrow{color:var(--color-primary);font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:0}.section{padding:74px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-head h2{font-size:34px;margin:0}.band{background:var(--color-surface)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:26px 0}.trust-grid div,.panel,.info-card{border:1px solid var(--border);border-radius:8px;background:#fff;padding:22px}.trust-grid strong{font-size:28px;color:var(--color-dark);display:block}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.info-card h3{margin:10px 0}.info-card a{font-weight:800;color:var(--color-primary)}.icon-dot{display:block;width:38px;height:38px;border-radius:8px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border-radius:7px;text-decoration:none;font-weight:800;border:1px solid transparent}.btn-primary{background:var(--color-primary);color:#fff}.btn-ghost{background:#fff;color:var(--color-dark);border-color:#fff}.cta{background:var(--color-dark);color:#fff;padding:64px 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px}.site-footer{background:#061a2f;color:#d8e4ea;padding:46px 0}.site-footer a{display:block;color:#fff;margin:4px 0}.prose{max-width:860px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) 360px;gap:24px;align-items:start}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px}.contact-form textarea{min-height:118px}.contact-form .checkline{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.contact-form .checkline input{width:18px;min-width:18px;margin-top:3px}.captcha-line{grid-template-columns:auto minmax(120px,220px);align-items:center}.form-actions{display:flex;align-items:center;justify-content:flex-start;margin-top:4px}.contact-aside{padding:20px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.wide{grid-column:1/-1}label{display:grid;gap:7px;font-weight:650}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:7px;padding:11px 12px;font:inherit}textarea{min-height:150px}.hp{position:absolute;left:-9999px}.success{color:#0a7a3c}.error{color:#a81717}.map-placeholder{height:220px;background:var(--color-surface);border-radius:8px;display:grid;place-items:center;color:#667}.cookie-banner[hidden]{display:none!important}.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;background:#fff;border:1px solid var(--border);box-shadow:0 16px 40px #0002;border-radius:8px;padding:16px;z-index:40;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cookie-banner label{display:flex;align-items:center;gap:7px}.cookie-banner input{width:auto}.cookie-banner button{border:1px solid var(--border);background:#fff;border-radius:6px;padding:9px 12px;font-weight:700}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}.hero-static{padding:90px 0;background:var(--color-surface)}.hero-art{min-height:360px;border-radius:8px;background:url('../img/placeholder-corporate.svg') center/cover no-repeat}.timeline,.process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.timeline div,.process div{background:#fff;border:1px solid var(--border);border-radius:8px;padding:18px}.process span{display:block;color:var(--color-primary);font-weight:900}@media(max-width:850px){.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:16px;flex-direction:column;border-bottom:1px solid var(--border)}.main-nav.is-open{display:flex}.menu-toggle{display:block;margin-left:auto}.card-grid,.trust-grid,.footer-grid,.contact-grid,.grid,.hero-grid,.timeline,.process,.contact-form{grid-template-columns:1fr}.section{padding:48px 0}.page-hero{padding:56px 0}.topbar .container{flex-direction:column}.navwrap{position:relative}}

.prose figure.cms-image-wrap-left,
.prose img.cms-image-wrap-left {
  float: left;
  clear: none;
  width: 46%;
  max-width: 360px;
  margin: 0.35rem 1.25rem 1rem 0;
}

.prose figure.cms-image-wrap-right,
.prose img.cms-image-wrap-right {
  float: right;
  clear: none;
  width: 46%;
  max-width: 360px;
  margin: 0.35rem 0 1rem 1.25rem;
}

.prose figure.cms-image-wrap-none,
.prose img.cms-image-wrap-none {
  float: none;
  clear: both;
  width: auto;
  max-width: 100%;
  margin: 1.2rem 0;
}

.prose figure.cms-image-wrap-left img,
.prose figure.cms-image-wrap-right img,
.prose figure.cms-image-wrap-none img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

@media (max-width: 720px) {
  .prose figure.cms-image-wrap-left,
  .prose figure.cms-image-wrap-right,
  .prose img.cms-image-wrap-left,
  .prose img.cms-image-wrap-right {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 1rem 0 !important;
  }
}

body {
  background: linear-gradient(180deg, #f3f7fa 0, #fbfdfe 220px, #ffffff 460px);
}

.topbar {
  padding-top: 16px;
  color: #5c7086;
  font-size: 13px;
  background: transparent;
}

.topbar__inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid rgba(208, 218, 228, .9);
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
  backdrop-filter: blur(14px);
}

.topbar-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
}

.topbar-meta a,
.topbar-meta span {
  color: #5c7086;
  text-decoration: none;
}

.site-header {
  padding-top: 10px;
  background: transparent;
  border-bottom: 0;
  backdrop-filter: none;
  z-index: 40;
}

.navwrap.header-grid {
  min-height: 76px;
  padding: 0 24px;
  border: 1px solid rgba(208, 218, 228, .92);
  border-radius: 28px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
  backdrop-filter: blur(16px);
}

.logo {
  gap: 12px;
  min-width: 220px;
}

.logo .logo-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background: linear-gradient(135deg, #6aaea7, #8eaee8);
  color: #fff;
  font-weight: 800;
  flex: 0 0 auto;
}

.logo .logo-image {
  display: block;
  width: auto;
  max-height: 50px;
}

.logo .logo-text {
  display: block;
}

.logo .logo-text strong,
.logo .logo-text small {
  display: block;
}

.logo .logo-text small {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.navwrap .main-nav {
  gap: 8px;
}

.navwrap .main-nav a {
  padding: 10px 14px;
  border-radius: 999px;
  color: var(--text);
  font-weight: 700;
}

.navwrap .main-nav a:hover,
.navwrap .main-nav a:focus-visible {
  background: #edf5f6;
  color: #0f5d6d;
}

.topbar .lang-switch {
  align-items: center;
  gap: 4px;
}

.topbar .lang-switch a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 26px;
  border: 0;
  border-radius: 999px;
  padding: 0 8px;
  color: #60748b;
  background: transparent;
}

.topbar .lang-switch a:hover,
.topbar .lang-switch a:focus-visible {
  background: #edf4f6;
  color: var(--text);
}

.menu-toggle {
  width: 42px;
  height: 42px;
  min-width: 42px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
}

.menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  margin: 4px auto;
  background: var(--text);
}

.site-footer {
  padding: 44px 0 78px;
  color: #516377;
  background: transparent;
}

.site-footer p {
  margin-bottom: 0;
  color: #6f8195;
}

.footer-frame {
  padding: 30px 32px 32px;
  border: 1px solid rgba(210, 220, 228, .95);
  border-radius: 34px;
  background:
    radial-gradient(circle at top right, rgba(173, 208, 223, .2), transparent 36%),
    linear-gradient(180deg, #fbfdfe 0, #eef4f6 100%);
  box-shadow: 0 22px 50px rgba(15, 23, 42, .08);
}

.footer-topline {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
  align-items: start;
  padding-bottom: 22px;
  margin-bottom: 28px;
  border-bottom: 1px solid rgba(203, 214, 223, .9);
}

.footer-topline strong {
  display: block;
  color: #243447;
  font-size: 22px;
  line-height: 1.2;
}

.footer-topline p:last-child {
  max-width: 480px;
  justify-self: start;
}

.footer-eyebrow {
  margin: 0 0 10px;
  color: #648091;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.35fr .9fr .95fr;
  align-items: start;
  gap: 26px;
}

.footer-brand,
.footer-panel {
  min-width: 0;
  height: 100%;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-right: 18px;
}

.footer-mark,
.footer-logo {
  margin-bottom: 18px;
}

.footer-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  color: #ffffff;
  font-size: 18px;
  font-weight: 900;
  background: linear-gradient(135deg, #7bb7af, #94b4e6);
  box-shadow: 0 12px 26px rgba(91, 126, 162, .18);
}

.footer-logo {
  display: block;
  width: auto;
  max-width: min(220px, 100%);
  max-height: 64px;
  object-fit: contain;
}

.footer-brand strong,
.footer-panel strong {
  display: block;
  margin-bottom: 10px;
  color: #243447;
  font-size: 20px;
}

.footer-brand p {
  max-width: 460px;
}

.footer-contact-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.footer-contact-list a,
.footer-contact-list span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(197, 210, 219, .95);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
}

.footer-panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 18px 18px 20px;
  border: 1px solid rgba(208, 219, 227, .88);
  border-radius: 24px;
  background: rgba(255, 255, 255, .58);
}

.footer-title {
  margin-bottom: 14px;
  color: #304257;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.footer-links {
  display: grid;
  gap: 12px;
  width: 100%;
}

.footer-links a {
  display: block;
  margin: 0;
  color: #52677d;
  font-weight: 700;
}

.site-footer a {
  color: #5e7287;
  transition: color .2s ease, transform .2s ease, border-color .2s ease, background-color .2s ease;
}

.site-footer a:hover,
.site-footer a:focus-visible {
  color: #0f6f6c;
  transform: translateX(2px);
}

.social-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
}

.social-pills a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(197, 210, 219, .95);
  border-radius: 999px;
  color: #50697d;
  background: rgba(255, 255, 255, .72);
}

.social-pills a:hover,
.social-pills a:focus-visible,
.footer-contact-list a:hover,
.footer-contact-list a:focus-visible {
  border-color: rgba(120, 175, 175, .6);
  background: rgba(239, 248, 247, .95);
}

.footer-contact-address {
  line-height: 1.45;
}

@media (max-width: 850px) {
  .topbar__inner {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    padding: 10px 16px;
  }

  .topbar-meta {
    justify-content: center;
  }

  .navwrap.header-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    padding: 14px 18px;
  }

  .navwrap.header-grid .main-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 10px);
    display: none;
    flex-direction: column;
    align-items: flex-start;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 24px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
    margin-left: 0;
  }

  .navwrap.header-grid .main-nav.is-open {
    display: flex;
  }

  .footer-frame {
    padding: 24px;
  }

  .footer-topline {
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
  }

  .footer-topline p:last-child {
    max-width: none;
    justify-self: start;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }
}

/* Header and footer refinement */
.topbar__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 0 26px;
}

.topbar-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
  min-width: 0;
}

.topbar-meta > * {
  line-height: 1.2;
  white-space: nowrap;
}

.topbar-meta > * + * {
  position: relative;
  padding-left: 18px;
}

.topbar-meta > * + *::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #bcc9d5;
  transform: translateY(-50%);
}

.topbar__inner .lang-switch {
  justify-self: end;
}

.topbar__inner .lang-switch a {
  min-width: 30px;
  height: 24px;
  font-size: 12px;
}

.site-footer {
  padding: 32px 0 54px;
}

.footer-frame {
  padding: 20px 26px 22px;
  border-radius: 28px;
}

.footer-grid.footer-grid--compact {
  grid-template-columns: minmax(0, 1.45fr) minmax(180px, .8fr) minmax(180px, .8fr);
  gap: 22px;
  align-items: start;
}

.footer-brand {
  padding-right: 0;
}

.footer-brand-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}

.footer-brand-copy {
  min-width: 0;
}

.footer-brand-copy strong {
  margin: 0 0 4px;
  font-size: 19px;
}

.footer-brand-copy p {
  margin: 0;
  font-size: 14px;
  color: #728396;
}

.footer-brand .footer-eyebrow {
  margin: 0 0 6px;
}

.footer-logo,
.footer-mark {
  margin-bottom: 0;
}

.footer-logo {
  max-height: 48px;
}

.footer-mark {
  width: 48px;
  height: 48px;
  border-radius: 16px;
}

.footer-contact-list {
  display: grid;
  gap: 6px;
  margin-top: 0;
}

.footer-contact-list a,
.footer-contact-list span {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
}

.footer-panel {
  height: auto;
  padding: 4px 0 0 22px;
  border: 0;
  border-left: 1px solid rgba(203, 214, 223, .9);
  border-radius: 0;
  background: none;
}

.footer-title {
  margin-bottom: 10px;
  font-size: 11px;
}

.footer-links {
  gap: 8px;
}

.site-footer a:hover,
.site-footer a:focus-visible,
.footer-contact-list a:hover,
.footer-contact-list a:focus-visible {
  transform: none;
  background: none;
}

.footer-contact-address {
  line-height: 1.5;
}

@media (max-width: 850px) {
  .topbar__inner {
    grid-template-columns: 1fr;
    justify-items: center;
    padding: 12px 18px;
  }

  .topbar-meta {
    justify-content: center;
  }

  .topbar__inner .lang-switch {
    justify-self: center;
  }

  .footer-grid.footer-grid--compact {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .footer-panel {
    padding: 14px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(203, 214, 223, .9);
  }
}
