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

:root {
  --color-primary: #0b493f;
  --color-primary-deep: #06372f;
  --color-primary-soft: #dcece5;
  --color-accent: #dff06a;
  --color-accent-strong: #cde34a;
  --color-ink: #132722;
  --color-muted: #5d6b67;
  --color-background: #fbfaf6;
  --color-surface: #f1f5ef;
  --color-warm: #f1ede2;
  --color-white: #fff;
  --font-display: 'Manrope', Arial, sans-serif;
  --font-body: 'DM Sans', Arial, sans-serif;
  --container: min(100% - 40px, 1180px);
  --container-wide: min(100% - 40px, 1380px);
  --radius-sm: 12px;
  --radius-md: 24px;
  --radius-lg: 44px;
  --shadow-soft: 0 24px 80px rgba(10, 61, 52, .09);
  --motion-intro-one: #eef5ef;
  --motion-intro-two: #fbfaf6;
  --motion-range-one: #f4f1e7;
  --motion-range-two: #fbfaf6;
  --motion-innovation-one: #e8f1ec;
  --motion-innovation-two: #fbfaf6;
  --motion-community-one: #eee8dc;
  --motion-community-two: #f7f3e9;
  --motion-cta-one: #e8f2e9;
  --motion-cta-two: #fbfaf6;
  --section-space: clamp(88px, 11vw, 168px);
  --ease: cubic-bezier(.2, .75, .25, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; overflow-x: clip; background: var(--color-background); color: var(--color-ink); font-family: var(--font-body); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--color-accent-strong); outline-offset: 4px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 500; letter-spacing: -.045em; line-height: 1.06; }
h1 { font-size: clamp(3.5rem, 7.7vw, 7rem); }
h2 { font-size: clamp(2.6rem, 5.2vw, 5rem); }
h3 { font-size: clamp(1.5rem, 2.2vw, 2.25rem); }
.container { width: var(--container); margin-inline: auto; }
.container-wide { width: var(--container-wide); margin-inline: auto; }
.container--content { max-width: 850px; }
.section { padding-block: var(--section-space); }
.section--dark { background: var(--color-primary-deep); color: var(--color-white); }
.section--soft { background: var(--color-surface); }
.section--warm { background: var(--color-warm); }
.eyebrow { margin-bottom: 24px; color: var(--color-primary); font-size: .72rem; font-weight: 600; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; }
.eyebrow--light { color: var(--color-accent); }
.large-copy { font-family: var(--font-display); font-size: clamp(1.25rem, 2.1vw, 1.75rem); letter-spacing: -.02em; line-height: 1.4; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 1000; padding: 12px 18px; background: var(--color-white); color: var(--color-primary); }
.skip-link:focus { top: 16px; }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 56px; padding: 14px 24px; border: 1px solid var(--color-primary); border-radius: 999px; background: var(--color-primary); color: var(--color-white); font-size: .88rem; font-weight: 600; transition: transform .3s var(--ease), background .3s; }
.button:hover { transform: translateY(-2px); background: var(--color-primary-deep); }
.button--small { min-height: 44px; padding: 10px 18px; font-size: .78rem; }
.button--accent { border-color: var(--color-accent); background: var(--color-accent); color: var(--color-ink); }
.button--accent:hover { background: var(--color-accent-strong); }
.button--outline-light { border-color: rgba(255,255,255,.45); background: transparent; }
.button--ghost { background: transparent; color: var(--color-primary); }
.text-link { display: inline-flex; align-items: center; gap: 22px; padding-bottom: 5px; border-bottom: 1px solid currentColor; color: var(--color-primary); font-weight: 600; }
.text-link span { transition: transform .25s; }
.text-link:hover span { transform: translate(3px, -3px); }
.text-link--light { color: var(--color-white); }

.site-header { position: fixed; inset: 22px 0 auto; z-index: 100; padding: 0; color: var(--color-white); transition: inset .3s, color .3s; }
.site-header.is-scrolled { inset: 12px 0 auto; padding: 0; background: transparent; color: var(--color-white); box-shadow: none; }
.site-header .site-header__inner { display: flex; width: min(calc(100% - 48px), 1400px); max-width: none; min-height: 76px; align-items: center; justify-content: space-between; padding: 8px 30px; border: 1px solid rgba(255,255,255,.38); border-radius: 999px; background: rgba(15,19,50,.67); box-shadow: 0 12px 40px rgba(10,8,38,.14); backdrop-filter: blur(18px); transition: min-height .3s, padding .3s, background .3s; }
.site-header.is-scrolled .site-header__inner { min-height: 60px; padding-block: 6px; background: rgba(18,10,66,.81); }
.brand { position: relative; display: inline-flex; align-items: center; gap: 12px; }
.brand__logo { display:grid;width:46px;height:46px;overflow:hidden;place-items:center;border:3px solid rgba(255,255,255,.72);border-radius:12px;background:var(--color-white);box-shadow:0 5px 18px rgba(6,55,47,.12) }
.brand__logo img { width:100%;height:100%;object-fit:contain; }
.brand__wordmark { display: block; height: 68px; line-height: 0; transition: height .3s var(--ease); }
.brand__wordmark img { display: block; width: auto; height: 100%; }
.brand__name { font-family: var(--font-display); font-size: 1.32rem; font-weight: 600; letter-spacing: -.04em; line-height: .9; }
.brand__name small { display: block; margin-top: 5px; font-size: .55rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.site-header .brand{gap:15px;transition:gap .3s var(--ease)}
.site-header .brand__logo{width:68px;height:68px;border-radius:16px;transition:width .3s var(--ease),height .3s var(--ease),border-radius .3s var(--ease),box-shadow .3s var(--ease)}
.site-header .brand__name{font-size:1.72rem;transition:font-size .3s var(--ease)}
.site-header .brand__name small{margin-top:7px;font-size:.66rem;transition:margin .3s var(--ease),font-size .3s var(--ease)}
.site-header.is-scrolled .brand{gap:12px}
.site-header.is-scrolled .brand__logo{width:46px;height:46px;border-radius:12px}
.site-header.is-scrolled .brand__wordmark{height:46px}
.site-header.is-scrolled .brand__name{font-size:1.32rem}
.site-header.is-scrolled .brand__name small{margin-top:5px;font-size:.55rem}
.primary-nav { display: flex; align-items: center; gap: 30px; }
.primary-nav__list { display: flex; align-items: center; gap: clamp(22px, 2.1vw, 34px); margin: 0; padding: 0; list-style: none; font-size: .94rem; font-weight: 500; }
.primary-nav__list a { position: relative; padding-block: 8px; }
.primary-nav__list a::after { content: ''; position: absolute; inset: auto 0 2px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .3s var(--ease); }
.primary-nav__list a:hover::after { transform: scaleX(1); transform-origin: left; }
.primary-nav__cta { display: none; }
.menu-toggle { display: none; border: 0; background: transparent; color: inherit; }

.hero { position: relative; min-height: min(920px, 100svh); overflow: hidden; padding: clamp(150px, 17vh, 210px) 0 90px; background: linear-gradient(135deg, #07362f 0%, #0a4d41 62%, #22675a 100%); }
.hero__glow { position: absolute; width: 55vw; height: 55vw; right: -18vw; top: -25vw; border-radius: 50%; background: rgba(223,240,106,.12); filter: blur(40px); }
.hero__inner { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: clamp(50px, 8vw, 120px); }
.hero__copy h1 { max-width: 880px; margin-bottom: 34px; }
.hero__lead { max-width: 660px; margin-bottom: 40px; color: rgba(255,255,255,.72); font-size: clamp(1rem, 1.5vw, 1.25rem); }
.hero__visual { position: relative; aspect-ratio: .77; min-width: 320px; border: 1px solid rgba(255,255,255,.18); border-radius: 48% 48% 24px 24px; background: linear-gradient(150deg, rgba(255,255,255,.1), rgba(255,255,255,.02)); box-shadow: inset 0 0 80px rgba(255,255,255,.05); }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: clamp(45px, 6vw, 80px); }.section-heading h2 { max-width: 800px; margin-bottom: 0; }.section-heading > p { max-width: 370px; margin-bottom: 4px; color: var(--color-muted); }
.careers { padding-bottom: 0; }.careers__card { display: flex; align-items: center; justify-content: space-between; gap: 60px; padding: clamp(45px,7vw,95px); border-radius: var(--radius-lg); background: linear-gradient(130deg,var(--color-primary),#0e6657); color:var(--color-white); }.careers__card > div { max-width: 790px; }.careers__card h2 { margin-bottom: 24px; }.careers__card p:not(.eyebrow) { max-width: 620px; margin:0;color:rgba(255,255,255,.7); }.careers__card .button{flex:0 0 auto;justify-self:start;min-width:170px;min-height:56px;gap:8px;padding:12px 20px;white-space:nowrap;text-align:center}.careers__card .button span{display:grid;width:20px;aspect-ratio:1;place-items:center;font-size:1.15rem;line-height:1}
.final-cta { text-align:center; }.final-cta__inner { max-width:1000px; }.final-cta h2 { margin-bottom:45px; }.final-cta .button-row { justify-content:center; }
.capability-marquee{overflow:hidden;padding:22px 0;border-block:1px solid rgba(11,73,63,.14);background:var(--color-background)}.capability-marquee__track{display:flex;width:max-content;animation:vega-marquee 32s linear infinite}.capability-marquee__group{display:flex;align-items:center}.capability-marquee span{display:flex;align-items:center;gap:32px;padding-right:32px;white-space:nowrap;font-family:var(--font-display);font-size:clamp(1rem,1.5vw,1.3rem)}.capability-marquee i{display:block;flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:var(--color-accent-strong)}@keyframes vega-marquee{to{transform:translateX(-50%)}}
body.home main{--motion-color-one:var(--motion-intro-one);--motion-color-two:var(--motion-intro-two);background:radial-gradient(circle at 15% 42%,var(--motion-color-one),transparent 38%),linear-gradient(var(--motion-color-two),var(--motion-color-two))}.home .final-cta{background:transparent}

/* Shared placeholder presentation; page styles retain only layout-specific dimensions and color variants. */
:is(.home-image-idea,.about-image-idea,.research-image-idea,.international-image-idea,.career-image-idea){position:relative;display:grid;place-items:center;overflow:hidden;border:1px dashed rgba(37,22,103,.28);text-align:center}
:is(.home-image-idea,.about-image-idea,.research-image-idea,.international-image-idea,.career-image-idea)::before,:is(.home-image-idea,.about-image-idea,.research-image-idea,.international-image-idea,.career-image-idea)::after{content:"";position:absolute;border:1px solid rgba(1,145,221,.2);border-radius:50%;pointer-events:none}
:is(.home-image-idea__inner,.about-image-idea__inner,.research-image-idea__inner,.international-image-idea__inner,.career-image-idea__inner){position:relative;z-index:1}
:is(.home-image-idea__label,.about-image-idea__label,.research-image-idea__label,.international-image-idea__label,.career-image-idea__label){display:inline-block;padding:8px 14px;border-radius:999px;background:#251667;color:#fff;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
:is(.home-image-idea,.about-image-idea,.research-image-idea,.international-image-idea,.career-image-idea) h3{margin:0 0 14px;font-family:var(--font-display);font-weight:500;line-height:1.15}
:is(.home-image-idea,.about-image-idea,.research-image-idea,.international-image-idea,.career-image-idea) p:last-child{margin:0;color:var(--color-muted);line-height:1.55}

.site-footer { padding: 80px 0 26px; background: #082f29; color: var(--color-white); }.site-footer__top { display:grid;grid-template-columns:1.4fr .6fr 1fr;gap:clamp(50px,8vw,120px);padding-bottom:70px; }.site-footer__identity > p { max-width:390px;margin-top:32px;color:rgba(255,255,255,.55); }.site-footer__social{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.site-footer__social a{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:rgba(255,255,255,.85);font-size:.8rem;font-weight:600;transition:color .25s ease,border-color .25s ease,background .25s ease,transform .25s ease}.site-footer__social a:hover{color:#082f29;border-color:var(--color-accent);background:var(--color-accent);transform:translateY(-2px)}.site-footer .eyebrow { color:var(--color-accent); }.footer-nav { display:grid;gap:10px;margin:0;padding:0;list-style:none;color:rgba(255,255,255,.72); }.footer-nav a:hover,.site-footer__contact a:hover { color:var(--color-accent); }.site-footer__contact { display:flex;flex-direction:column;align-items:flex-start; }.site-footer address { color:rgba(255,255,255,.6);font-style:normal;font-size:.88rem; }.site-footer address p{margin:0 0 18px}.site-footer address a{display:block;color:inherit}.site-footer__address-label{display:block;margin-bottom:5px;color:rgba(255,255,255,.9);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.site-footer__contact > a { color:rgba(255,255,255,.86);font-size:.9rem; }.site-footer__bottom { display:flex;justify-content:space-between;gap:25px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.45);font-size:.75rem; }.site-footer__bottom p { margin:0; }
.page-main { padding: 180px 0 100px; }.entry__header { margin-bottom: 60px; }.entry__content { font-size: 1.08rem; }.entry-card { padding:32px 0;border-bottom:1px solid #d8ded9; }
.contact-intro{max-width:760px;margin-bottom:52px}.contact-intro h2{margin-bottom:20px}.contact-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.contact-location{overflow:hidden;border:1px solid rgba(37,22,103,.1);border-radius:var(--radius-md);background:var(--color-white);box-shadow:var(--shadow-soft)}.contact-location__copy{min-height:245px;padding:34px}.contact-location__copy h2{margin-bottom:18px;font-size:clamp(2rem,3.7vw,3.5rem)}.contact-location address{margin:0;color:var(--color-muted);font-style:normal}.contact-location__directions{display:inline-flex;margin-top:22px;color:var(--color-primary);font-size:.85rem;font-weight:600;border-bottom:1px solid currentColor}.contact-location__map{position:relative;aspect-ratio:16/10;background:var(--color-surface)}.contact-location__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.contact-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.contact-meta-card{padding:28px;border-radius:22px;background:var(--color-surface)}.contact-meta-card h2{margin-bottom:16px;font-size:1.65rem}.contact-meta-card p{margin:0;color:var(--color-muted)}.contact-meta-card a{color:var(--color-primary);font-weight:600}.contact-meta-card a+a{display:block;margin-top:6px}
.archive-hero { padding: 190px 0 90px; }.archive-hero h1 { max-width: 900px; margin-bottom: 25px; }.archive-hero > .container > p:last-child { max-width: 570px; color: rgba(255,255,255,.65); font-size: 1.1rem; }
.product-filters { display:grid;grid-template-columns:1.5fr repeat(3,1fr) auto;gap:10px;margin-bottom:55px;padding:18px;border-radius:22px;background:var(--color-white);box-shadow:var(--shadow-soft); }.product-filters--active{grid-template-columns:1.5fr repeat(3,1fr) auto auto}.product-filters input,.product-filters select { width:100%;height:52px;padding:0 16px;border:1px solid #dce2dd;border-radius:12px;background:#fafbf9;color:var(--color-ink); }.product-filters__search input::-webkit-search-cancel-button,.product-filters__search input::-webkit-calendar-picker-indicator{position:relative;margin-block:0;padding:0;vertical-align:middle}.product-filters__search input::-webkit-search-cancel-button{top:1px;margin-right:7px}.product-filters__search input::-webkit-calendar-picker-indicator{top:0;margin-left:0}.product-filters label:not(.product-filters__search){position:relative}.product-filters label:not(.product-filters__search)::after{content:"";position:absolute;top:50%;right:19px;width:7px;height:7px;border-right:1.7px solid var(--color-primary);border-bottom:1.7px solid var(--color-primary);pointer-events:none;transform:translateY(-68%) rotate(45deg)}.product-filters select{-webkit-appearance:none;appearance:none;padding-right:46px;background-color:#fafbf9}.product-filters .button{min-height:52px}.product-filters__clear{white-space:nowrap}.product-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card { overflow:hidden;border-radius:var(--radius-md);background:var(--color-white);box-shadow:0 12px 45px rgba(9,61,51,.06); }.product-card__image { --product-card-image-inset:24px;position:relative;display:grid;aspect-ratio:1.1;place-items:center;overflow:hidden;background:linear-gradient(145deg,#e9f0eb,#f6f5ef); }.product-card__image::before{content:"";position:absolute;inset:var(--product-card-image-inset);border-radius:24px;background:#fff}.product-card__image>img{position:absolute;z-index:1;inset:var(--product-card-image-inset);width:calc(100% - var(--product-card-image-inset) - var(--product-card-image-inset));max-width:none;height:calc(100% - var(--product-card-image-inset) - var(--product-card-image-inset));padding:0;border-radius:24px;background:#fff;object-fit:contain;transition:transform .5s var(--ease)}.product-card:hover .product-card__image>img{transform:scale(1.04)}.product-card__placeholder{position:relative;z-index:1;display:grid;width:36%;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--color-primary);color:var(--color-white);font-family:var(--font-display);font-size:clamp(3rem,7vw,6rem)}.product-card__body { position:relative;padding:25px 72px 28px 25px; }.product-card__body .eyebrow{margin-bottom:12px}.product-card__body h3{margin-bottom:10px;font-size:1.55rem}.product-card__body p:not(.eyebrow){margin:0;color:var(--color-muted);font-size:.85rem}.product-card__link{position:absolute;right:24px;bottom:26px;display:grid;width:38px;aspect-ratio:1;place-items:center;border:1px solid #d5ded8;border-radius:50%;color:var(--color-primary)}.pagination{margin-top:50px}.pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.pagination .page-numbers{display:grid;min-width:42px;height:42px;place-items:center;border-radius:50%;background:var(--color-white)}.pagination .current{background:var(--color-primary);color:var(--color-white)}.empty-state{max-width:700px;margin:auto;padding:70px 25px;text-align:center}.empty-state h2{font-size:clamp(2rem,4vw,3.5rem)}
.product-filters__search{position:relative}.product-filters__search::after{content:"";position:absolute;top:50%;right:9px;width:7px;height:7px;border-right:1.7px solid var(--color-primary);border-bottom:1.7px solid var(--color-primary);pointer-events:none;transform:translateY(-68%) rotate(45deg)}.product-filters__search input::-webkit-calendar-picker-indicator{opacity:0}.product-filters__search input::-webkit-search-cancel-button{position:static;margin:0;padding:initial;vertical-align:initial}
.product-card__image>img{border-radius:24px}
.product-card__variants{display:flex;align-items:center;gap:5px;width:min(100%,285px);min-width:0;margin-top:12px;white-space:nowrap}.product-card__variants-label{flex:0 0 auto;margin-right:2px;color:var(--color-muted);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.product-card__variant-viewport{min-width:0;max-width:190px;overflow:hidden;scrollbar-width:none}.product-card__variant-viewport::-webkit-scrollbar{display:none}.product-card__variant-track{display:flex;gap:6px;width:max-content}.product-card__variant{flex:0 0 auto;padding:4px 8px;border:1px solid rgba(42,26,117,.15);border-radius:999px;background:#f4f3fb;color:var(--color-primary);font-size:.68rem;font-weight:650;line-height:1.15}.product-card__variant-arrow{display:none;flex:0 0 22px;width:22px;height:22px;padding:0;border:1px solid rgba(42,26,117,.18);border-radius:50%;background:#fff;color:var(--color-primary);font:700 1rem/1 var(--font-body);cursor:pointer;place-items:center;transition:opacity .2s ease,border-color .2s ease,background .2s ease}.product-card__variants.has-overflow .product-card__variant-arrow{display:grid}.product-card__variants.has-overflow .product-card__variant-arrow:disabled{display:none}.product-card__variant-arrow:hover,.product-card__variant-arrow:focus-visible{border-color:var(--color-primary);background:#f4f3fb}.product-card__variant-viewport:focus-visible{border-radius:999px;outline:2px solid rgba(1,145,221,.4);outline-offset:2px}
.product-card__placeholder{max-width:130px;overflow:hidden;border:1px solid rgba(37,22,103,.14);border-radius:24px;background:linear-gradient(145deg,#fff,#edf7fc);box-shadow:0 16px 34px rgba(37,22,103,.1)}
.product-card__placeholder img,.product-card__image .product-card__placeholder img,.product-hero__image .product-card__placeholder img{width:72%;height:72%;padding:0;object-fit:contain;transform:none!important}
.product-card:hover .product-card__placeholder img{transform:none!important}
.product-hero{padding:170px 0 90px;background:var(--color-surface)}.product-hero__grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(55px,9vw,130px)}.product-hero__image{--product-image-inset:clamp(25px,5vw,70px);display:grid;aspect-ratio:1;place-items:center;border-radius:var(--radius-lg);background:var(--color-white)}.product-hero__image>img{position:absolute;inset:var(--product-image-inset);width:calc(100% - var(--product-image-inset) - var(--product-image-inset));max-width:none;height:calc(100% - var(--product-image-inset) - var(--product-image-inset));object-fit:contain}.product-hero__copy h1{margin-bottom:20px;font-size:clamp(3rem,6vw,5.5rem)}.product-hero__generic{font-family:var(--font-display);font-size:1.4rem;color:var(--color-primary)}.product-hero__label{margin:-8px 0 22px;color:var(--color-muted);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.product-hero__copy dl{display:grid;grid-template-columns:repeat(2,1fr);column-gap:clamp(28px,3.5vw,50px);margin-top:35px}.product-hero__copy dl div{padding:15px 0;border-top:1px solid #cad5ce}.product-hero__copy dl .product-hero__variants{grid-column:1/-1}.product-hero__copy dt{color:var(--color-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.product-hero__copy dd{margin:5px 0 0;font-weight:600}.product-content{font-size:1.08rem}.product-content>h2,.product-info-section>h2{margin:58px 0 18px;font-size:clamp(2rem,4vw,3.15rem)}.product-content>h2:first-of-type,.product-info-section:first-of-type>h2{margin-top:20px}.product-content>h3,.product-info-section__body h3{margin:30px 0 10px;font-size:clamp(1.35rem,2.4vw,1.85rem)}.product-content>p,.product-content>ul,.product-info-section__body{max-width:780px;color:var(--color-muted);line-height:1.75}.product-content>ul,.product-info-section__body ul,.product-info-section__body ol{display:grid;gap:9px;padding-left:1.2em}.product-info-section__body p:first-child{margin-top:0}.product-info-section__body p:last-child{margin-bottom:0}.product-info-section--composition .product-info-section__body,.product-detail-card{max-width:780px;padding:clamp(24px,4vw,36px);border:1px solid rgba(37,22,103,.12);border-radius:24px;background:linear-gradient(145deg,#f4f1fb,#edf8fc)}.product-detail-card p{margin:0}.product-detail-card p+p{margin-top:10px}.product-content .button-row{margin-top:40px}.product-medical-notes{display:grid;max-width:780px;gap:16px;margin-top:48px}.product-medical-note{display:flex;align-items:center;gap:18px;padding:22px 24px;border:1px solid rgba(37,22,103,.16);border-radius:20px;background:linear-gradient(135deg,#f4f1fb,#edf8fc);color:var(--color-ink)}.product-medical-note__icon{display:grid;flex:0 0 48px;width:48px;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--color-primary);color:var(--color-white)}.product-medical-note__icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.product-medical-note p{margin:0;line-height:1.6}.product-medical-note__copy p+p{margin-top:8px}.product-medical-note strong{color:var(--color-primary)}
.product-hero__classifications{display:grid;gap:14px;margin-top:28px;padding-top:22px;border-top:1px solid #cad5ce}.product-classification-group{display:grid;grid-template-columns:minmax(115px,.35fr) 1fr;align-items:start;gap:12px}.product-classification-group__label{padding-top:7px;color:var(--color-muted);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.product-classification-group__terms{display:flex;flex-wrap:wrap;gap:8px}.product-classification-group__terms a{display:inline-flex;align-items:center;min-height:34px;padding:7px 13px;border:1px solid rgba(37,22,103,.18);border-radius:999px;background:rgba(255,255,255,.58);color:var(--color-primary);font-size:.76rem;font-weight:600;line-height:1.2;transition:border-color .2s ease,background .2s ease,transform .2s ease}.product-classification-group__terms a:hover{border-color:var(--color-primary);background:var(--color-white);transform:translateY(-1px)}.product-classification-group__terms a:focus-visible{outline:3px solid rgba(1,145,221,.35);outline-offset:2px}

.product-variant-selector{margin-top:30px}.product-variant-selector__label{display:block;margin-bottom:10px;color:var(--color-muted);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.product-variant-selector__options{display:flex;flex-wrap:wrap;gap:9px}.product-variant-selector__button{min-height:42px;padding:9px 17px;border:1px solid rgba(37,22,103,.22);border-radius:999px;background:rgba(255,255,255,.58);color:var(--color-primary);font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}.product-variant-selector__button:hover{border-color:var(--color-primary);transform:translateY(-1px)}.product-variant-selector__button.is-selected{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white)}.product-variant-selector__button:focus-visible{outline:3px solid rgba(1,145,221,.35);outline-offset:2px}.product-variant-list{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0 0;padding:0;list-style:none}.product-variant-list li{padding:8px 13px;border:1px solid rgba(37,22,103,.18);border-radius:999px;background:rgba(255,255,255,.62);color:var(--color-primary);font-size:.82rem;line-height:1.25}.product-related-products{background:var(--color-surface)}

/* Normalize imported product tables to the approved Quatre-Folin presentation. */
.product-info-section__body table{width:100%!important;max-width:780px;border:1px solid #000!important;border-collapse:collapse!important;table-layout:auto}
.product-info-section__body :is(th,td){padding:8px!important;border:1px solid #000!important;vertical-align:middle;overflow-wrap:anywhere}
.product-hero__gallery{min-width:0}.product-hero__image{position:relative;overflow:hidden;cursor:zoom-in}.product-hero__image:focus-visible{outline:3px solid rgba(1,145,221,.45);outline-offset:5px}.product-hero__image::after{content:"↗";position:absolute;right:20px;bottom:20px;display:grid;width:42px;aspect-ratio:1;place-items:center;border-radius:50%;background:rgba(37,22,103,.9);color:#fff;font-size:1.1rem;opacity:0;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease}.product-hero__image:hover::after,.product-hero__image:focus-visible::after{opacity:1;transform:none}.product-gallery-thumbnails{display:flex;gap:10px;overflow-x:auto;margin-top:14px;padding:3px 3px 8px;scrollbar-width:thin}.product-gallery-thumbnail{display:grid;flex:0 0 82px;width:82px;aspect-ratio:1;place-items:center;overflow:hidden;padding:7px;border:1px solid rgba(37,22,103,.14);border-radius:15px;background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.product-gallery-thumbnail:hover{transform:translateY(-2px)}.product-gallery-thumbnail.is-active{border-color:#0191dd;box-shadow:0 0 0 3px rgba(1,145,221,.13)}.product-gallery-thumbnail:focus-visible{outline:3px solid rgba(1,145,221,.35);outline-offset:2px}.product-gallery-thumbnail img{width:100%;height:100%;object-fit:contain}.product-gallery-lightbox-source{display:none}:root{--lb-image-border-radius:24px;--lb-backdrop-color:rgba(14,9,47,.94);--lb-chrome-bg:rgba(37,22,103,.88)}
.motion-ready [data-reveal],.motion-ready [data-stagger] > *{will-change:transform,opacity}.motion-loaded [data-reveal],.motion-loaded [data-stagger] > *{will-change:auto}

/* Approximately 55px at 1920px, scaled down for narrower screens. */
:root{--page-hero-transition-space:clamp(30px,2.865vw,55px)}
.products-archive .archive-hero,
.single-product .product-hero,
.about-page .about-hero,
.quality-page .quality-hero,
.research-page .research-hero,
.international-page .international-hero,
.careers-page .careers-hero,
.contact-page .contact-hero{padding-bottom:var(--page-hero-transition-space)}
.research-page .research-hero,
.international-page .international-hero,
.careers-page .careers-hero{min-height:82svh}
.products-archive>.archive-hero+.section,
.single-product>.product-hero+.section,
.about-content>.about-section:first-child,
.quality-content>.quality-section:first-child,
.research-content>.research-section:first-child,
.international-content>.international-section:first-child,
.careers-content>.career-section:first-child,
.contact-page .contact-content{padding-top:var(--page-hero-transition-space)}

/* Use the same compact rhythm between successive substantial sections site-wide. */
body.home .vega-experience,
body.home .vega-divisions,
body.home .vega-comparison,
body.home .vega-process,
body.home .featured-products,
body.home .vega-coverage,
body.home .vega-faq,
body.home .careers,
body.home .final-cta,
.products-archive>.section,
.single-product>.section,
.about-page .about-section,
.about-page .about-cta,
.quality-page .quality-section,
.quality-page .quality-cta,
.research-page .research-section,
.research-page .research-cta,
.international-page .international-section,
.international-page .international-contact,
.careers-page .career-section,
.careers-page .careers-application,
.contact-page .contact-content,
.contact-page .contact-enquiry{padding-block:var(--page-hero-transition-space)}

@media (max-width: 1050px) {
	.site-header { inset: 14px 0 auto; }
	.site-header .site-header__inner { width: calc(100% - 32px); }
	.menu-open .site-header .site-header__inner{width:100%;border-color:transparent;background:transparent;box-shadow:none;backdrop-filter:none}
  .site-header .brand { z-index: 102; }
  .menu-open .site-header .brand { color: var(--color-white); }
  .menu-toggle { position:relative;z-index:102;display:flex;min-width:48px;min-height:48px;align-items:center;justify-content:center;gap:12px;padding:10px 14px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);color:inherit;cursor:pointer;touch-action:manipulation; }.menu-toggle__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.menu-toggle__icon{position:relative;width:28px;height:18px}.menu-toggle__icon i{position:absolute;left:0;width:100%;height:1px;background:currentColor;transition:transform .3s,top .3s}.menu-toggle__icon i:first-child{top:4px}.menu-toggle__icon i:last-child{top:13px}.menu-open .menu-toggle__icon i:first-child{top:8px;transform:rotate(45deg)}.menu-open .menu-toggle__icon i:last-child{top:8px;transform:rotate(-45deg)}
  .primary-nav { position:fixed;inset:0 auto auto 0;z-index:101;display:flex;width:100vw;min-height:100vh;min-height:100dvh;flex-direction:column;align-items:flex-start;justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;padding:clamp(112px,16vh,150px) max(30px,8vw) max(42px,8vh);background:var(--color-primary-deep);color:var(--color-white);opacity:0;visibility:hidden;transform:translateY(-16px);transition:opacity .3s,visibility .3s,transform .3s; }.menu-open .primary-nav{opacity:1;visibility:visible;transform:none}.primary-nav__list{display:grid;gap:clamp(2px,1vh,10px);font-family:var(--font-display);font-size:clamp(1.45rem,4.3vh,2.5rem);font-weight:500;line-height:1.08}.primary-nav__list a{display:block;padding-block:clamp(5px,1vh,10px)}.primary-nav__cta{display:none}.site-header.is-scrolled .menu-open .menu-toggle{color:var(--color-white)}
  .hero__inner { grid-template-columns: 1fr .55fr; gap: 30px; }.hero__copy h1{font-size:clamp(3.4rem,8vw,5.8rem)}
  .product-filters{grid-template-columns:repeat(2,1fr)}.product-filters__search{grid-column:1/-1}.product-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 760px) {
  :root { --container: min(100% - 32px, 1180px); --section-space: 82px; --radius-lg: 28px; }
  .site-header .site-header__inner{min-height:64px;padding:7px 16px}.site-header .brand{gap:12px}.site-header .brand__logo{width:50px;height:50px;border-radius:13px}.site-header .brand__wordmark{height:50px}.site-header .brand__name{font-size:1.22rem}.site-header .brand__name small{margin-top:6px;font-size:.54rem}.site-header.is-scrolled .brand{gap:10px}.site-header.is-scrolled .brand__logo{width:42px;height:42px;border-radius:11px}.site-header.is-scrolled .brand__wordmark{height:42px}.site-header.is-scrolled .brand__name{font-size:1.08rem}.site-header.is-scrolled .brand__name small{margin-top:5px;font-size:.5rem}
  .hero{min-height:auto;padding:130px 0 60px}.hero__inner{grid-template-columns:1fr}.hero__copy h1{font-size:clamp(3.05rem,14vw,4.5rem)}.hero__visual{min-width:0;max-width:500px;margin-inline:auto;width:88%;aspect-ratio:1}.hero__lead{font-size:1rem}
  .section-heading{display:grid;gap:25px}.section-heading > p{max-width:100%}
  .careers__card{display:grid;gap:40px}.site-footer__top{grid-template-columns:1fr;gap:45px}.site-footer__bottom{display:grid}
  .archive-hero{padding:145px 0 70px}.product-filters{grid-template-columns:1fr}.product-filters__search{grid-column:auto}.product-grid{grid-template-columns:1fr}.product-hero__grid{grid-template-columns:1fr}.product-hero__image{max-width:520px;width:100%;margin:auto}.product-hero__copy dl{grid-template-columns:1fr}.product-classification-group{grid-template-columns:1fr;gap:7px}.product-classification-group__label{padding-top:0}
  .product-medical-note{align-items:flex-start;gap:14px;padding:18px}.product-medical-note__icon{flex-basis:42px;width:42px}.product-medical-note__icon svg{width:24px;height:24px}
  .contact-location-grid,.contact-meta-grid{grid-template-columns:1fr}.contact-location__copy{min-height:auto}.contact-location__map{aspect-ratio:4/3}
}

@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.capability-marquee__track{animation:none!important;transform:none!important}[data-reveal],[data-stagger]>*{opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important;clip-path:none!important}
}

/* Vega purple-and-blue brand palette. Integrated from the former child theme. */
:root {
  --color-primary: #251667;
  --color-primary-deep: #160b45;
  --color-primary-soft: #e9e5f7;
  --color-accent: #0191dd;
  --color-accent-strong: #18a9ed;
  --color-ink: #171331;
  --color-muted: #625e78;
  --color-background: #fbfaff;
  --color-surface: #f2f0fa;
  --color-warm: #eef7fc;
  --gradient-blue-white: radial-gradient(circle at 50% 42%, #fff 0%, #f5fbff 34%, #dcedf8 100%);
  --gradient-blue-grey: radial-gradient(circle at 48% 38%, #f7fbfe 0%, #e7f0f6 46%, #d5e2eb 100%);
  --shadow-soft: 0 24px 80px rgba(37, 22, 103, .12);
  --motion-intro-one: #f7fbfe;
  --motion-intro-two: #dcedf8;
  --motion-range-one: #e7f0f6;
  --motion-range-two: #d5e2eb;
  --motion-innovation-one: #f5fbff;
  --motion-innovation-two: #dcedf8;
  --motion-community-one: #f7fbfe;
  --motion-community-two: #d5e2eb;
  --motion-cta-one: #f5fbff;
  --motion-cta-two: #e7f0f6;
}

body { background: var(--color-background); }
.site-header.is-scrolled { background: transparent; box-shadow: none; }
.site-header.is-scrolled .site-header__inner { background: rgba(18, 10, 66, .88); box-shadow: 0 8px 30px rgba(37, 22, 103, .14); }
.brand__logo { border-color: rgba(255, 255, 255, .86); box-shadow: 0 5px 20px rgba(37, 22, 103, .2); }
.button { border-color: #251667; background: #251667; }
.button:hover { background: #160b45; }
.button--accent { border-color: #0191dd; background: #0191dd; color: #fff; }
.button--accent:hover { background: #0078bd; }
.button--ghost { background: transparent; color: #251667; }
.product-document-link { gap: 10px; }
.product-document-link__icon { width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.eyebrow--light, .site-footer .eyebrow, .quality__visual span { color: #75d1ff; }

.hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(1, 145, 221, .35), transparent 34%),
    linear-gradient(135deg, #160b45 0%, #251667 52%, #075fa4 100%);
}
.vega-home-hero {
  background:
    radial-gradient(circle at 82% 8%, rgba(117, 209, 255, .52), transparent 27%),
    radial-gradient(circle at 100% 28%, rgba(190, 161, 255, .38), transparent 32%),
    linear-gradient(125deg, #0191dd 0%, #251667 78%);
}
.hero__glow { background: rgba(1, 145, 221, .12); }
.hero__orb--one { background: radial-gradient(circle at 35% 32%, #fff, #90d9ff 28%, rgba(1, 145, 221, .12) 68%); }
.hero__orb--two { border-color: rgba(117, 209, 255, .55); background: rgba(1, 145, 221, .12); }
.hero__molecule span { background: #57c5ff; box-shadow: 0 0 25px rgba(1, 145, 221, .65); }

.section--dark { background: #160b45; color: var(--color-white); }
.section--soft { background: #f2f0fa; }
.section--warm { background: #eef7fc; }
.pillar-card { box-shadow: 0 18px 60px rgba(37, 22, 103, .08); }
.pillar-card:hover { background: linear-gradient(145deg, #251667, #33208a); }
.pillar-card:hover > span { color: #75d1ff; }
.range-card--1 { background: linear-gradient(145deg, #251667 0%, #160b45 58%, #073f78 100%); }
.range-card--2 { background: linear-gradient(145deg, #e9e5f7, #dcd5f3); }
.range-card--3 { background: linear-gradient(145deg, #e5f5fd, #cdeeff); }

.quality {
  background:
    radial-gradient(circle at 18% 45%, rgba(1, 145, 221, .17), transparent 32%),
    linear-gradient(145deg, #160b45, #251667 72%, #123c83);
}
.quality__rings, .quality__rings i { border-color: rgba(97, 199, 255, .3); }
.quality__rings i:nth-child(3) { background: #0191dd; box-shadow: 0 0 34px rgba(1, 145, 221, .48); }
.feature-list li::before { color: #61c7ff; }
.editorial-split__visual { background: linear-gradient(145deg, #251667, #073f78); }
.innovation-visual__cell { border-color: #58c5ff; }
.innovation-visual__cell i { background: #0191dd; box-shadow: 0 0 20px rgba(1, 145, 221, .55); }
.community__circle { background: linear-gradient(145deg, #e9e5f7, #dbeffc); }
.community__circle span { background: linear-gradient(145deg, #251667, #0191dd); }
.community__dot { background: #0191dd; }
.community__dot--3 { background: #251667; }
.careers__card { background: linear-gradient(125deg, #251667 0%, #34228a 48%, #0191dd 140%); }
.capability-marquee { border-color: rgba(37, 22, 103, .15); }
.capability-marquee i { background: #0191dd; }

.site-footer { background: linear-gradient(145deg, #110733, #251667); }
.site-footer__social a:hover { color: #160b45; border-color: #75d1ff; background: #75d1ff; }
.product-card { box-shadow: 0 12px 45px rgba(37, 22, 103, .08); }
.product-card__image { background: linear-gradient(145deg, #f0eef9, #edf7fc); }
.product-card__placeholder { border-color: rgba(37, 22, 103, .16); background: linear-gradient(145deg, #fff, #edf7fc); }
.product-filters { box-shadow: 0 24px 80px rgba(37, 22, 103, .1); }
.product-filters input, .product-filters select { border-color: #dcd7ee; background: #fbfaff; }
.product-card__link { border-color: #d8d2ed; }
.product-hero { background: linear-gradient(145deg, #f2f0fa, #edf7fc); }
.product-hero__copy dl div { border-color: #d9d4eb; }
.contact-location { border-color: rgba(37, 22, 103, .11); }
.contact-location__map { background: linear-gradient(145deg, #f0eef9, #edf7fc); }
.contact-meta-card { background: linear-gradient(145deg, #f0eef9, #edf7fc); }
.product-hero__image--placeholder { cursor: default; }
.product-hero__image--placeholder::after { content: none; }
.product-card__variants.has-overflow .product-card__variant-arrow:disabled { display: grid; visibility: hidden; pointer-events: none; }
