@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');

@font-face { font-family: 'Sansation'; font-style: normal; font-weight: 400; font-display: swap; src: url('https://fonts.cdnfonts.com/s/382/Sansation-Regular.woff') format('woff'); }
@font-face { font-family: 'Sansation'; font-style: normal; font-weight: 700; font-display: swap; src: url('https://fonts.cdnfonts.com/s/382/Sansation-Bold.woff') format('woff'); }

:root {
  --blue: #1e90ff;
  --blue-deep: #0f5abe;
  --blue-vivid: #0a71eb;
  --blue-light: #50c0ff;
  --snow: #fffafa;
  --ink: #000505;
  --muted: #526070;
  --line: rgba(15, 90, 190, 0.14);
  --canvas: #f7fbff;
  --font-display: 'Sansation', 'Space Grotesk', Arial, sans-serif;
  --font-body: 'Sansation', 'Manrope', Arial, sans-serif;
  --radius-lg: 30px;
  --radius-md: 20px;
  --shadow: 0 22px 60px rgba(10, 65, 137, 0.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--snow); color: var(--ink); font-family: var(--font-body); font-size: 16px; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; max-width: 100%; }

.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.section { padding: 130px 0; }
.section-grid { position: relative; overflow: hidden; }
.skip-link { position: fixed; z-index: 100; left: 18px; top: -56px; padding: 10px 14px; border-radius: 8px; color: #fff; background: var(--blue-deep); transition: top .2s ease; }
.skip-link:focus { top: 18px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.site-header { position: fixed; z-index: 50; inset: 0 0 auto; height: 82px; border-bottom: 1px solid transparent; color: var(--snow); transition: background .25s ease, box-shadow .25s ease, color .25s ease, border-color .25s ease; }
.site-header.is-scrolled { background: rgba(255, 250, 250, .92); color: var(--ink); box-shadow: 0 10px 30px rgba(2, 33, 73, .08); border-color: rgba(15, 90, 190, .08); backdrop-filter: blur(14px); }
.header-content { display: flex; align-items: center; height: 100%; }
.brand { display: inline-flex; align-items: center; gap: 9px; flex-shrink: 0; }
.brand-symbol, .purpose-symbol, .constellation-symbol { position: relative; display: block; overflow: hidden; aspect-ratio: 453 / 353; }
.brand-symbol { width: 30px; }
.brand-symbol img, .purpose-symbol img, .constellation-symbol img { position: absolute; width: 238.5%; max-width: none; left: -69.1%; top: -72.3%; }
.brand-name { display: grid; color: currentColor; font-family: var(--font-display); font-size: 19px; font-weight: 700; letter-spacing: .08em; line-height: .8; }
.brand-name small { color: var(--blue-light); font-size: 7px; letter-spacing: .34em; line-height: 1.75; }
.header-controls { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.main-nav { display: flex; align-items: center; gap: 31px; margin-left: 28px; font-size: 13px; font-weight: 700; letter-spacing: .025em; }
.language-picker, .contact-picker { position: relative; }
.language-picker { display: inline-flex; align-items: center; }
.language-trigger { display: inline-flex; align-items: center; gap: 10px; min-width: 68px; padding: 10px 12px; color: inherit; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; outline: none; background: transparent; cursor: pointer; font: inherit; font-size: 11px; font-weight: 800; letter-spacing: .08em; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.language-trigger i, .nav-contact i { width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s ease; }
.language-picker:hover .language-trigger, .language-picker:focus-within .language-trigger, .language-picker.is-open .language-trigger { color: var(--blue-deep); border-color: var(--snow); background: var(--snow); }
.language-picker:hover .language-trigger i, .language-picker:focus-within .language-trigger i, .language-picker.is-open .language-trigger i, .contact-picker:hover .nav-contact i, .contact-picker:focus-within .nav-contact i, .contact-picker.is-open .nav-contact i { transform: translateY(2px) rotate(225deg); }
.language-menu, .contact-menu { position: absolute; z-index: 70; top: calc(100% + 10px); right: 0; padding: 8px; visibility: hidden; opacity: 0; border: 1px solid rgba(15,90,190,.12); border-radius: 16px; background: rgba(255,255,255,.98); box-shadow: 0 18px 45px rgba(2,33,73,.17); transform: translateY(-7px); transition: opacity .18s ease, transform .18s ease, visibility .18s; backdrop-filter: blur(14px); }
.language-menu::before, .contact-menu::before { content: ''; position: absolute; right: 0; bottom: 100%; width: 100%; height: 12px; }
.language-picker:hover .language-menu, .language-picker:focus-within .language-menu, .language-picker.is-open .language-menu, .contact-picker:hover .contact-menu, .contact-picker:focus-within .contact-menu, .contact-picker.is-open .contact-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.language-menu { width: 164px; }
.language-menu button, .contact-menu a, .contact-menu button { width: 100%; color: var(--ink); border: 0; background: transparent; cursor: pointer; text-align: left; }
.language-menu button { display: flex; justify-content: space-between; align-items: center; padding: 10px 11px; border-radius: 9px; font-size: 12px; font-weight: 700; }
.language-menu button small { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.language-menu button:hover, .language-menu button:focus-visible, .language-menu button[aria-selected="true"] { color: var(--blue-deep); outline: none; background: #edf6ff; }
.main-nav > a:not(.nav-contact) { opacity: .76; transition: opacity .2s ease, color .2s ease; }
.main-nav > a:not(.nav-contact):hover, .main-nav > a:not(.nav-contact):focus-visible { opacity: 1; color: var(--blue-light); }
.nav-contact { display: inline-flex; align-items: center; gap: 12px; padding: 11px 16px; color: inherit; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; background: transparent; cursor: pointer; font: inherit; font-size: inherit; font-weight: inherit; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.nav-contact:hover, .nav-contact:focus-visible, .contact-picker:hover .nav-contact, .contact-picker:focus-within .nav-contact, .contact-picker.is-open .nav-contact { background: var(--snow); color: var(--blue-deep); border-color: var(--snow); outline: none; }
.contact-menu { width: 264px; }
.contact-menu a, .contact-menu button { display: grid; gap: 4px; padding: 11px 12px; border-radius: 10px; }
.contact-menu a:hover, .contact-menu a:focus-visible, .contact-menu button:hover, .contact-menu button:focus-visible { color: var(--blue-deep); outline: none; background: #edf6ff; }
.contact-menu span { font-size: 12px; font-weight: 800; }
.contact-menu small { overflow: hidden; color: var(--muted); font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.is-scrolled .nav-contact { border-color: rgba(15, 90, 190, .2); }
.is-scrolled .nav-contact:hover, .is-scrolled .nav-contact:focus-visible, .is-scrolled .contact-picker:hover .nav-contact, .is-scrolled .contact-picker:focus-within .nav-contact, .is-scrolled .contact-picker.is-open .nav-contact { color: var(--snow); background: var(--blue-deep); border-color: var(--blue-deep); }
.is-scrolled .language-trigger { border-color: rgba(15, 90, 190, .2); }
.is-scrolled .language-picker:hover .language-trigger, .is-scrolled .language-picker:focus-within .language-trigger, .is-scrolled .language-picker.is-open .language-trigger { color: var(--snow); background: var(--blue-deep); border-color: var(--blue-deep); }
.nav-toggle { display: none; padding: 8px 0 8px 8px; border: 0; background: transparent; cursor: pointer; }
.nav-toggle span { display: block; width: 25px; height: 2px; margin: 5px 0; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
body.menu-open .nav-toggle { color: var(--ink); }

.hero { isolation: isolate; min-height: 760px; display: grid; align-items: center; padding: 128px 0 78px; color: var(--snow); background: radial-gradient(circle at 73% 45%, #167fee 0, #0f5abe 37%, #082c68 100%); }
.hero::before { content: ''; position: absolute; z-index: -1; inset: 0; opacity: .42; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.2) 72%, transparent 100%); }
.hero::after { content: ''; position: absolute; z-index: -1; width: 60vw; min-width: 570px; height: 60vw; min-height: 570px; right: -23vw; top: 50%; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; transform: translateY(-50%); }
.hero-content { position: relative; display: grid; grid-template-columns: minmax(0, .97fr) minmax(360px, .83fr); align-items: center; gap: clamp(28px, 7vw, 105px); }
.hero-copy { position: relative; z-index: 2; max-width: 650px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 22px; color: var(--blue-vivid); font-size: 11px; font-weight: 800; letter-spacing: .15em; line-height: 1.2; }
.eyebrow span { width: 25px; height: 2px; background: currentColor; }
.eyebrow-light { color: #8fceff; }
.hero h1, h2, h3, p { margin-top: 0; }
.hero h1 { max-width: 660px; margin-bottom: 26px; font-family: var(--font-display); font-size: clamp(47px, 5.6vw, 78px); font-weight: 600; letter-spacing: -.06em; line-height: .98; }
.hero h1 em { color: var(--blue-light); font-style: normal; }
.hero-description { max-width: 518px; margin-bottom: 35px; color: rgba(255,255,255,.78); font-size: 17px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 20px; padding: 15px 21px; border-radius: 999px; font-size: 13px; font-weight: 800; letter-spacing: .015em; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.button-primary { color: var(--blue-deep); background: var(--snow); box-shadow: 0 9px 25px rgba(0, 0, 0, .16); }
.button-primary:hover, .button-primary:focus-visible { transform: translateY(-2px); background: var(--blue-light); box-shadow: 0 13px 28px rgba(0, 0, 0, .22); }
.text-link { display: inline-flex; gap: 9px; align-items: center; padding: 6px 0; font-size: 13px; font-weight: 800; border-bottom: 1px solid transparent; transition: border-color .2s ease, color .2s ease; }
.light-link { color: rgba(255,255,255,.85); }
.text-link:hover, .text-link:focus-visible { color: var(--blue-light); border-color: currentColor; }

.hero-visual { position: relative; justify-self: end; width: min(100%, 443px); aspect-ratio: 1 / 1.05; }
.visual-halo { position: absolute; inset: 4%; border: 1px solid rgba(187,231,255,.49); border-radius: 50%; box-shadow: 0 0 0 30px rgba(80, 192, 255, .045), 0 0 0 64px rgba(80, 192, 255, .035); animation: slowspin 26s linear infinite; }
.visual-halo::after, .visual-halo::before { content: ''; position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #cceeff; box-shadow: 0 0 16px #cceeff; }
.visual-halo::before { top: 14%; left: 9%; }.visual-halo::after { right: 3%; bottom: 24%; }
.logo-card { position: absolute; inset: 13%; z-index: 1; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.8); border-radius: 44% 56% 51% 49% / 45% 41% 59% 55%; background: var(--snow); box-shadow: 0 26px 55px rgba(0, 24, 67, .28); transform: rotate(-6deg); }
.logo-card::after { content: ''; position: absolute; inset: 0; border: 7px solid rgba(80,192,255,.13); border-radius: inherit; pointer-events: none; }
.logo-card img { width: 100%; max-width: none; mix-blend-mode: multiply; transform: rotate(6deg); }
.signal { position: absolute; z-index: 2; display: flex; align-items: center; gap: 6px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.32); border-radius: 99px; background: rgba(5, 49, 114, .35); box-shadow: 0 12px 24px rgba(0,23,67,.13); backdrop-filter: blur(5px); }
.signal i { width: 5px; height: 5px; border-radius: 50%; background: var(--blue-light); box-shadow: 0 0 9px var(--blue-light); animation: blink 1.8s infinite alternate; }
.signal i:nth-child(2) { animation-delay: .25s; }.signal i:nth-child(3) { animation-delay: .5s; }
.signal-one { top: 13%; right: -4%; }.signal-two { bottom: 20%; left: -8%; }
.visual-caption { position: absolute; z-index: 3; right: -10px; bottom: -1px; margin: 0; color: rgba(255,255,255,.82); font-size: 10px; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.visual-caption span { display: inline-block; width: 34px; height: 1px; margin: 0 8px 3px 0; background: var(--blue-light); }
.hero-orbit { position: absolute; z-index: -1; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.hero-orbit-one { width: 39vw; height: 39vw; min-width: 490px; min-height: 490px; left: -31vw; bottom: -26vw; }.hero-orbit-two { width: 42px; height: 42px; top: 34%; left: 47%; background: var(--blue-light); box-shadow: 0 0 0 13px rgba(80,192,255,.12), 0 0 30px var(--blue-light); }
.scroll-cue { position: absolute; bottom: 28px; left: max(24px, calc((100% - 1180px) / 2)); display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.65); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.scroll-cue i { position: relative; width: 29px; height: 1px; background: rgba(255,255,255,.45); }.scroll-cue i::after { content: ''; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-bottom: 1px solid white; border-right: 1px solid white; transform: rotate(45deg); }

.section-heading { display: flex; justify-content: space-between; gap: 60px; }
.section-heading h2, .purpose h2, .contact h2 { margin-bottom: 0; font-family: var(--font-display); font-size: clamp(34px, 4.2vw, 57px); font-weight: 600; letter-spacing: -.055em; line-height: 1.05; }
.split-heading h2 { max-width: 650px; }.split-heading > p { max-width: 347px; margin: 39px 0 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 65px; }
.service-card { position: relative; min-height: 294px; padding: 30px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.service-card:hover { border-color: rgba(30,144,255,.34); box-shadow: var(--shadow); transform: translateY(-5px); }.service-card.featured { color: var(--snow); border-color: transparent; background: linear-gradient(140deg, var(--blue-vivid), var(--blue-deep)); }
.service-card::after { content: ''; position: absolute; width: 155px; height: 155px; right: -50px; bottom: -75px; border: 1px solid currentColor; border-radius: 50%; opacity: .1; }
.card-index { color: var(--blue-vivid); font-size: 10px; font-weight: 800; letter-spacing: .13em; }.featured .card-index { color: #a6ddff; }
.service-card h3, .purpose-points h3 { margin-bottom: 9px; font-family: var(--font-display); font-size: 21px; font-weight: 600; letter-spacing: -.04em; }.service-card h3 { margin-top: 72px; }.service-card p { max-width: 260px; margin-bottom: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }.featured p { color: rgba(255,255,255,.74); }

.featured-products { overflow: hidden; background: var(--canvas); }
.featured-products-heading { display: grid; grid-template-columns: 1fr minmax(300px, .62fr); gap: 80px; align-items: end; }
.featured-products-heading h2 { max-width: 620px; margin: 0; font-family: var(--font-display); font-size: clamp(37px, 4.4vw, 58px); font-weight: 600; letter-spacing: -.055em; line-height: 1.03; }
.featured-products-heading > div:last-child > p { margin: 0 0 19px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.featured-products-heading .text-link { color: var(--blue-deep); }
.featured-products-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 54px; }
.featured-product-card { min-width: 0; overflow: hidden; border: 1px solid rgba(15,90,190,.12); border-radius: 22px; background: #fff; box-shadow: 0 12px 32px rgba(10,65,137,.055); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.featured-product-card:hover, .featured-product-card:focus-visible { border-color: rgba(30,144,255,.35); box-shadow: 0 24px 52px rgba(10,65,137,.13); transform: translateY(-5px); outline: none; }
.featured-product-media { aspect-ratio: 4 / 3; overflow: hidden; background: linear-gradient(145deg, #fff, #f1f7fc); }
.featured-product-media img { width: 100%; height: 100%; object-fit: contain; transition: transform .4s cubic-bezier(.2,.65,.3,1); }
.featured-product-card:hover .featured-product-media img { transform: scale(1.035); }
.featured-product-body { padding: 24px; border-top: 1px solid rgba(15,90,190,.08); }
.featured-product-body > p:first-child { margin: 0 0 10px; color: var(--blue-vivid); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.featured-product-body h3 { margin: 0 0 10px; font-family: var(--font-display); font-size: 21px; font-weight: 600; letter-spacing: -.035em; line-height: 1.14; }
.featured-product-body h3 + p { min-height: 64px; margin: 0 0 18px; color: var(--muted); font-size: 13px; line-height: 1.62; }
.featured-product-action { display: flex; justify-content: space-between; align-items: center; padding-top: 14px; color: var(--blue-deep); border-top: 1px solid rgba(15,90,190,.11); font-size: 11px; font-weight: 800; }
.featured-product-action b { font-size: 18px; font-weight: 500; transition: transform .2s ease; }
.featured-product-card:hover .featured-product-action b { transform: translateX(4px); }

.purpose { position: relative; overflow: hidden; color: var(--snow); background: #052b68; }.purpose::after { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .3; background: linear-gradient(120deg, transparent 0 45%, rgba(80,192,255,.18) 45% 45.1%, transparent 45.1%), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: auto, 75px 75px; }
.purpose-layout { position: relative; z-index: 1; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(50px, 10vw, 170px); }
.purpose-art { position: relative; width: min(100%, 340px); aspect-ratio: 1; margin: 0 auto; }.art-rings { position: absolute; inset: 0; border: 1px solid rgba(143,206,255,.38); border-radius: 50%; }.art-rings::after, .art-rings::before { content: ''; position: absolute; inset: 9%; border: 1px dashed rgba(143,206,255,.23); border-radius: 50%; }.art-rings::after { inset: 26%; border-style: solid; border-color: rgba(143,206,255,.33); }.art-core { position: absolute; inset: 28%; display: grid; place-items: center; border-radius: 50%; background: rgba(80,192,255,.1); box-shadow: 0 0 50px rgba(80,192,255,.2); }.purpose-symbol { width: 72%; filter: drop-shadow(0 0 10px rgba(80,192,255,.28)); }.art-node { position: absolute; width: 11px; height: 11px; border-radius: 50%; background: var(--blue-light); box-shadow: 0 0 16px var(--blue-light); }.node-a { top: 12%; left: 20%; }.node-b { right: 2%; top: 53%; }.node-c { left: 28%; bottom: 7%; }
.purpose-copy { max-width: 660px; }.purpose h2 { max-width: 550px; margin-bottom: 45px; }.purpose-points { display: grid; gap: 27px; }.purpose-points article { display: grid; grid-template-columns: 42px 1fr; gap: 18px; }.point-number { display: grid; place-items: center; width: 38px; height: 38px; color: var(--blue-light); border: 1px solid rgba(143,206,255,.54); border-radius: 50%; font-family: var(--font-display); font-size: 14px; font-weight: 700; }.purpose-points h3 { margin: 0 0 8px; font-size: 18px; }.purpose-points p { max-width: 540px; margin: 0; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.65; }

.values { overflow: hidden; background: var(--canvas); }.values-heading > p { max-width: 315px; margin: 37px 0 0; color: var(--muted); font-size: 15px; line-height: 1.7; }.values-constellation { position: relative; min-height: 790px; margin-top: 72px; }.constellation-path { position: absolute; z-index: 0; top: 8px; bottom: 8px; left: 50%; width: 1px; background: linear-gradient(to bottom, transparent, rgba(30,144,255,.55) 8%, rgba(15,90,190,.7) 50%, rgba(30,144,255,.45) 91%, transparent); }.constellation-path::after { content: ''; position: absolute; top: 15%; left: -4px; width: 9px; height: 9px; border-radius: 50%; background: var(--blue-light); box-shadow: 0 153px 0 var(--blue-vivid), 0 320px 0 var(--blue-light), 0 483px 0 var(--blue-vivid); }.constellation-core { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; place-items: center; width: 142px; aspect-ratio: 1; border: 1px solid rgba(30,144,255,.22); border-radius: 50%; background: var(--snow); box-shadow: 0 0 0 16px rgba(30,144,255,.055), 0 18px 44px rgba(13,77,157,.12); transform: translate(-50%, -50%); }.constellation-core::before { content: ''; position: absolute; inset: 9px; border: 1px dashed rgba(30,144,255,.36); border-radius: inherit; animation: slowspin 18s linear infinite; }.constellation-symbol { z-index: 1; width: 75px; filter: drop-shadow(0 4px 8px rgba(30,144,255,.16)); }.value-station { position: absolute; z-index: 1; width: min(36%, 360px); }.value-station::after { content: ''; position: absolute; top: 16px; width: clamp(120px, 15vw, 190px); height: 1px; background: linear-gradient(90deg, rgba(30,144,255,.08), rgba(30,144,255,.75)); }.value-station h3 { margin: 12px 0 7px; color: var(--blue-deep); font-family: var(--font-display); font-size: 24px; font-weight: 600; letter-spacing: -.045em; }.value-station p { max-width: 290px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }.station-meta { display: flex; align-items: center; color: var(--blue-vivid); font-size: 10px; font-weight: 800; letter-spacing: .15em; }.station-one, .station-three, .station-five { left: 7%; text-align: right; }.station-one .station-meta, .station-three .station-meta, .station-five .station-meta { justify-content: flex-end; }.station-one p, .station-three p, .station-five p { margin-left: auto; }.station-one::after, .station-three::after, .station-five::after { right: clamp(-190px, -15vw, -120px); }.station-two, .station-four, .station-six { right: 7%; }.station-two::after, .station-four::after, .station-six::after { left: clamp(-190px, -15vw, -120px); transform: scaleX(-1); }.station-one { top: 0; }.station-two { top: 13%; }.station-three { top: 35%; }.station-four { top: 52%; }.station-five { top: 70%; }.station-six { top: 84%; }

.contact { isolation: isolate; padding: 135px 0; color: var(--snow); text-align: center; background: linear-gradient(145deg, #0f5abe 0%, #0860c9 47%, #1e90ff 100%); }.contact::after { content: ''; position: absolute; z-index: -1; inset: 0; opacity: .18; background-image: radial-gradient(circle at 1px 1px, white 1px, transparent 0); background-size: 22px 22px; mask-image: linear-gradient(90deg, transparent, black 25% 75%, transparent); }.contact-beam { position: absolute; z-index: -1; width: 470px; height: 470px; left: 50%; top: 50%; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; transform: translate(-50%, -50%); box-shadow: 0 0 0 66px rgba(255,255,255,.045), 0 0 0 138px rgba(255,255,255,.025); }.contact-content { max-width: 870px; }.contact .eyebrow { justify-content: center; color: #b9e6ff; }.contact h2 { max-width: 800px; margin: 0 auto 22px; }.contact-content > p:not(.eyebrow) { max-width: 605px; margin: 0 auto 30px; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.7; }.contact-methods { display: flex; justify-content: center; gap: 12px; margin: 0 auto 29px; }.contact-method { display: grid; min-width: 217px; gap: 5px; padding: 13px 18px; color: var(--snow); border: 1px solid rgba(255,255,255,.35); border-radius: 13px; background: rgba(4,42,105,.18); text-align: left; transition: transform .2s ease, border-color .2s ease, background .2s ease; }.contact-method > span, .contact-method small { color: #b9e6ff; font-size: 10px; font-weight: 800; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }.contact-method strong { font-family: var(--font-display); font-size: 16px; font-weight: 600; letter-spacing: .01em; }.contact-method-copy { font-family: var(--font-body); cursor: pointer; }.contact-method-copy small { min-height: 12px; color: rgba(255,255,255,.62); letter-spacing: .05em; text-transform: none; }.contact-method:hover, .contact-method:focus-visible { border-color: var(--snow); background: rgba(255,255,255,.12); transform: translateY(-3px); outline: none; }.contact-email { display: inline-flex; align-items: center; gap: 23px; padding: 14px 0 12px; border-bottom: 1px solid rgba(255,255,255,.56); font-family: var(--font-display); font-size: clamp(19px, 2.2vw, 26px); font-weight: 600; letter-spacing: -.035em; transition: color .2s ease, border-color .2s ease; }.contact-email:hover, .contact-email:focus-visible { color: #b9e6ff; border-color: currentColor; }.contact-email span { color: var(--blue-light); font-family: var(--font-body); font-size: 23px; }

.site-footer { padding: 27px 0; color: #53606e; background: var(--snow); }.footer-content { display: flex; align-items: center; justify-content: space-between; gap: 25px; }.footer-brand { color: var(--ink); }.site-footer p, .site-footer a:not(.brand) { margin: 0; font-size: 11px; line-height: 1.4; }.site-footer a:not(.brand) { color: var(--blue-deep); font-weight: 700; }.site-footer a:not(.brand):hover { text-decoration: underline; }

[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.65,.3,1); }[data-reveal-delay="1"] { transition-delay: .12s; }[data-reveal-delay="2"] { transition-delay: .24s; }[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
@keyframes slowspin { to { transform: rotate(360deg); } }@keyframes blink { to { opacity: .25; transform: scale(.6); } }

@media (max-width: 840px) {
  .section { padding: 95px 0; }.hero { min-height: 760px; }.hero-content { grid-template-columns: 1fr; padding-top: 45px; }.hero-copy { max-width: 630px; }.hero-visual { width: min(365px, 72vw); justify-self: center; margin: -13px 0 4px; }.hero h1 { font-size: clamp(46px, 10vw, 68px); }.hero-description { font-size: 16px; }.scroll-cue { display: none; }.section-heading { display: block; }.split-heading > p, .values-heading > p { margin-top: 21px; }.service-grid { margin-top: 45px; }.featured-products-heading { grid-template-columns: 1fr; gap: 25px; }.featured-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.featured-product-card:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }.featured-product-card:last-child .featured-product-media { aspect-ratio: auto; }.purpose-layout { grid-template-columns: .66fr 1.34fr; gap: 40px; }.purpose-art { min-width: 250px; }.header-controls { gap: 10px; }.nav-toggle { display: block; position: relative; z-index: 2; }.main-nav { position: absolute; top: 0; right: 0; left: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; margin-left: 0; padding: 114px 24px 35px; color: var(--ink); background: var(--snow); box-shadow: 0 14px 30px rgba(0,23,67,.1); transform: translateY(-110%); transition: transform .28s ease; }.main-nav.is-open { transform: translateY(0); }.main-nav > a { opacity: 1 !important; font-size: 16px; }.nav-contact { padding: 12px 16px; border-color: rgba(15,90,190,.2); }.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .contact-picker { width: min(100%, 310px); }
  .contact-picker .nav-contact { color: var(--ink); }
  .contact-menu { position: static; width: 100%; max-height: 0; margin-top: 0; padding: 0 8px; visibility: hidden; overflow: hidden; opacity: 0; border-width: 0; box-shadow: none; transform: none; transition: max-height .25s ease, opacity .2s ease, margin .2s ease, padding .2s ease, visibility .2s; }
  .contact-menu::before { display: none; }
  .contact-picker:hover .contact-menu, .contact-picker:focus-within .contact-menu, .contact-picker.is-open .contact-menu { max-height: 230px; margin-top: 9px; padding: 8px; visibility: visible; opacity: 1; border-width: 1px; }
}
@media (max-width: 640px) {
  .container { width: min(1180px, calc(100% - 36px)); }.site-header { height: 70px; }.brand-name { font-size: 17px; }.hero { min-height: auto; padding: 122px 0 66px; }.hero::after { width: 160vw; min-width: 0; height: 160vw; right: -88vw; }.hero-content { gap: 10px; padding-top: 0; }.hero h1 { margin-bottom: 20px; font-size: clamp(42px, 12vw, 58px); }.hero-description { margin-bottom: 28px; font-size: 15px; line-height: 1.6; }.hero-actions { gap: 20px; }.button { width: 100%; }.hero-visual { width: min(324px, 88vw); margin: 8px auto -14px; }.visual-caption { right: -2px; bottom: -11px; font-size: 8px; }.signal-one { right: -2%; }.signal-two { left: -3%; }.section { padding: 75px 0; }.eyebrow { margin-bottom: 17px; }.section-heading h2, .purpose h2, .contact h2 { font-size: 34px; }.split-heading > p, .values-heading > p { font-size: 14px; }.service-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 34px; }.service-card { min-height: 230px; padding: 24px; }.service-card h3 { margin-top: 48px; }.featured-products-heading { gap: 20px; }.featured-products-heading h2 { font-size: 34px; }.featured-products-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 34px; }.featured-product-card:last-child { grid-column: auto; display: block; }.featured-product-card:last-child .featured-product-media { aspect-ratio: 4 / 3; }.featured-product-body { padding: 21px; }.featured-product-body h3 + p { min-height: 0; }.purpose-layout { grid-template-columns: 1fr; gap: 39px; }.purpose-art { width: min(245px, 72vw); min-width: 0; }.purpose h2 { margin-bottom: 31px; }.purpose-points { gap: 23px; }.purpose-points article { grid-template-columns: 35px 1fr; gap: 13px; }.point-number { width: 32px; height: 32px; }.purpose-points p { font-size: 13px; }.values-constellation { min-height: 0; margin-top: 42px; padding-left: 30px; }.constellation-path { top: 108px; bottom: 35px; left: 7px; }.constellation-path::after { top: 13%; box-shadow: 0 146px 0 var(--blue-vivid), 0 292px 0 var(--blue-light), 0 438px 0 var(--blue-vivid); }.constellation-core { position: relative; top: auto; left: auto; width: 110px; margin: 0 0 39px; transform: none; }.constellation-symbol { width: 58px; }.value-station { position: relative; top: auto !important; right: auto !important; left: auto !important; width: auto; padding: 0 0 30px 18px; text-align: left !important; }.value-station::after, .station-one::after, .station-three::after, .station-five::after, .station-two::after, .station-four::after, .station-six::after { top: 16px; right: auto; left: -23px; width: 23px; background: linear-gradient(90deg, rgba(30,144,255,.7), rgba(30,144,255,.08)); transform: none; }.station-one .station-meta, .station-three .station-meta, .station-five .station-meta { justify-content: flex-start; }.station-one p, .station-three p, .station-five p { margin-left: 0; }.value-station h3 { margin-top: 9px; font-size: 20px; }.value-station p { max-width: 300px; font-size: 12px; }.contact { padding: 88px 0; }.contact h2 { font-size: 34px; }.contact-content > p:not(.eyebrow) { font-size: 14px; }.contact-methods { flex-direction: column; align-items: stretch; max-width: 310px; }.contact-method { min-width: 0; }.contact-email { gap: 12px; font-size: 18px; }.site-footer { padding: 25px 0; }.footer-content { align-items: flex-start; flex-direction: column; gap: 15px; }
}
@media (max-width: 390px) { .hero-actions { align-items: flex-start; flex-direction: column; }.text-link { margin-left: 3px; }.contact-email { font-size: 15px; }.brand-name { font-size: 15px; } }
@media (max-width: 480px) { .hero h1 { font-size: 39px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
