/* Parallax Steel Blue marketing theme. Load after styles.css on public pages only.
   Add class="parallax-public" to their body; never load this file in /parallax/os/. */
body.parallax-public {
  --carbon: #0a0f14;
  --bone: #e8eef5;
  --ceramic: #a7c6e8;
  --metal: #4f8dc9;
  --muted: #a7c6e8;
  --line: rgba(167,198,232,.3);
  --page: 22px;
  background: var(--carbon);
  color: var(--bone);
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: .02em;
}
body.parallax-public :is(h1,h2,h3) {
  font-weight: 700;
  letter-spacing: .015em;
  line-height: 1.08;
  overflow-wrap: normal;
}
body.parallax-public h1 { font-size: clamp(44px,6vw,88px); }
body.parallax-public h2 { font-size: clamp(34px,4.2vw,66px); }
body.parallax-public h3 { font-size: clamp(28px,2.6vw,42px); }
body.parallax-public :is(p,label,input,select,textarea,.button,.lang-btn,.menu-toggle,footer,.nav-links>a) {
  font-size: 22px;
  letter-spacing: .02em;
}
body.parallax-public .site-nav {
  min-height: 112px;
  padding: 6px clamp(22px,3vw,48px);
  gap: 22px;
  background: rgba(10,15,20,.97);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
body.parallax-public .brand {
  align-items: flex-start;
  flex: 0 0 200px;
  width: 200px;
  letter-spacing: .02em;
  line-height: 1.08;
}
body.parallax-public .parallax-brand-logo {
  display: block;
  width: 200px;
  height: 100px;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}
body.parallax-public .nav-links { gap: 22px; min-width: 0; }
body.parallax-public .nav-links>a { white-space: nowrap; font-weight: 700; }
body.parallax-public :is(.button,.menu-toggle,.lang-btn) {
  border-radius: 9999px;
  aspect-ratio: auto;
  width: auto;
  min-height: 48px;
  font-weight: 700;
  line-height: 1.2;
}
body.parallax-public .menu-toggle {
  width: 48px;
  min-width: 48px;
  height: 48px;
  min-height: 48px;
  padding: 0;
  border: 0;
  border-radius: 0;
  aspect-ratio: auto;
  font-size: 0;
  line-height: 0;
}
body.parallax-public .button { padding: 16px 26px; white-space: normal; }
body.parallax-public .nav-links .button { white-space: nowrap; flex-shrink: 0; }
body.parallax-public .lang-switch { flex-shrink: 0; margin-left: 0; }
body.parallax-public .lang-btn { min-width: 52px; padding: 9px 12px; }
body.parallax-public .hero,
body.parallax-public .hero.compact {
  background: #1b2a3a !important;
  min-height: max(740px,90svh);
  padding: 170px clamp(22px,6vw,112px) 70px;
  align-items: center;
}
body.parallax-public .hero .hero-copy {
  width: 100%;
  max-width: 940px;
}
body.parallax-public .hero .hero-copy h1 { font-size: clamp(44px,6vw,88px); }
body.parallax-public .hero p { margin-top: 28px; color: var(--bone); }
body.parallax-public .hero-actions { margin-top: 28px; }
body.parallax-public .hero:after {
  background: linear-gradient(90deg,rgba(10,15,20,.91),rgba(27,42,58,.66) 48%,rgba(10,15,20,.15)),linear-gradient(0deg,rgba(10,15,20,.65),transparent 55%) !important;
}
body.parallax-public .section { padding-block: clamp(72px,7vw,112px); }
body.parallax-public .section.light { background: var(--bone); color: var(--carbon); }
body.parallax-public .section.warm { background: var(--ceramic); color: var(--carbon); }
body.parallax-public .section-head { margin-bottom: 42px; }
body.parallax-public .contact-block { background: var(--carbon); }
body.parallax-public .contact-block h2 { font-size: clamp(34px,4.2vw,66px); }
body.parallax-public .photo-slot { background: #1b2a3a !important; }
body.parallax-public .button:hover { transform: none; }

/* Collapse early: seven 22px navigation labels and a bilingual switch need room. */
@media (max-width: 1660px) {
  body.parallax-public .menu-toggle { display: inline-flex; flex-shrink: 0; }
  body.parallax-public .nav-links>a:not(.button) { display: none; }
  body.parallax-public .nav-links { margin-left: auto; }
  body.parallax-public .nav-links.open {
    position: absolute;
    top: 112px;
    left: 22px;
    right: 22px;
    margin-left: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 22px;
    max-height: calc(100svh - 140px);
    overflow-y: auto;
    background: #1b2a3a;
    border: 1px solid var(--line);
  }
  body.parallax-public .nav-links.open>a {
    display: flex !important;
    min-height: 48px;
    padding: 12px 16px;
    font-size: 22px;
    white-space: normal;
  }
}
@media (max-width: 760px) {
  body.parallax-public .site-nav {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 6px 16px;
    padding: 6px 22px 10px;
    min-height: 146px;
  }
  body.parallax-public .brand { width: 160px; flex-basis: auto; grid-column: 1; }
  body.parallax-public .parallax-brand-logo { width: 160px; height: 80px; }
  body.parallax-public .menu-toggle { grid-column: 2; grid-row: 1; padding: 0; }
  body.parallax-public .lang-switch { grid-column: 1 / -1; grid-row: 2; justify-self: end; }
  body.parallax-public .nav-links { display: none; margin: 0; }
  body.parallax-public .nav-links>.button { display: none; }
  body.parallax-public .nav-links.open { top: 146px; max-height: calc(100svh - 174px); }
  body.parallax-public .hero,
  body.parallax-public .hero.compact {
    min-height: max(780px,100svh) !important;
    padding: 190px 22px 48px !important;
    align-items: flex-end;
  }
  body.parallax-public .hero .hero-copy h1 { font-size: clamp(28px,7.8vw,52px); }
  body.parallax-public h2 { font-size: clamp(28px,7.8vw,44px); }
  body.parallax-public h3 { font-size: 28px; }
  body.parallax-public .hero p { margin-top: 24px; }
  body.parallax-public .hero-actions,
  body.parallax-public .actions { align-items: flex-start; gap: 12px; }
  body.parallax-public .hero-actions .button,
  body.parallax-public .actions .button { width: auto; max-width: 100%; }
  body.parallax-public .static-hero-media { height: 100%; }
  body.parallax-public .hero:after {
    background: linear-gradient(0deg,rgba(10,15,20,.96),rgba(27,42,58,.78) 50%,rgba(10,15,20,.3)) !important;
  }
  body.parallax-public .section { padding: 72px 22px; }
  body.parallax-public .contact-block { padding: 60px 22px; }
}
body.parallax-public :is(small,footer span,.form-field label){font-size:22px;line-height:1.5}
body.parallax-public .section :is(p,li),body.parallax-public .hero p{font-weight:500;line-height:1.5}

/* Supplied originals: preserve full prostheses and existing visible marks. */
body.parallax-public .fullarch-gallery,body.parallax-public .technology-gallery{gap:28px}
body.parallax-public :is(.fullarch-photo,.technology-photo){margin:0;overflow:hidden;background:#000}
body.parallax-public .fullarch-photo img{display:block;width:100%;height:auto}
body.parallax-public .technology-photo{background:#fff;display:grid;place-items:center}
body.parallax-public .technology-photo img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain}
body.parallax-public .asset-fullarch{background:#000}
body.parallax-public .asset-fullarch img{object-fit:contain}
body.parallax-public .asset-product{background:#fff}
body.parallax-public .asset-product img{object-fit:contain}
body.parallax-public :is(.home-static,.full-static) .static-hero-media{background:#000}
body.parallax-public :is(.home-static,.full-static) .static-hero-media img{width:55%;margin-left:auto;object-fit:contain;object-position:right center;filter:none}
@media(max-width:760px){
 body.parallax-public :is(.home-static,.full-static) .static-hero-media img{width:100%;height:56%;margin-top:146px;object-position:center}
 body.parallax-public .fullarch-gallery,body.parallax-public .technology-gallery{grid-template-columns:1fr}
}

/* User-supplied PARALLAX wordmark; crop whitespace without altering artwork. */
body.parallax-public .brand{flex:0 0 208px;width:208px;align-items:center}
.parallax-wordmark{display:block;position:relative;width:208px;height:34px;overflow:hidden;background:#fff;border-radius:7px}
body.parallax-public .parallax-wordmark img{position:absolute;display:block;width:286px;height:286px;max-width:none;left:-48px;top:-133px}
@media(max-width:760px){body.parallax-public .brand{flex:0 0 152px;width:152px}.parallax-wordmark{width:152px;height:26px}body.parallax-public .parallax-wordmark img{width:210px;height:210px;left:-35px;top:-98px}}
body.parallax-public :is(p,li,a){overflow-wrap:anywhere}
@media(max-width:900px){body.parallax-public .offers{grid-template-columns:minmax(0,1fr)!important}body.parallax-public .offer{min-width:0;max-width:100%}body.parallax-public .offer h3{overflow-wrap:anywhere}}
body.parallax-public .brand .parallax-wordmark{display:block!important;flex-shrink:0}
@media(max-width:640px){body.parallax-public .audience-switch{display:flex;width:100%;max-width:100%}body.parallax-public .audience-switch button{min-width:0;flex:1 1 0;padding:14px 12px;white-space:normal}}
