:root {
  --color-navy: #0b1f33;
  --color-teal: #4f8f8b;
  --color-teal-dark: #396f6c;
  --color-ice: #dceef8;
  --color-white: #ffffff;
  --color-off-white: #f6f8fa;
  --color-charcoal: #17232d;
  --color-grey: #dde3e8;
  --font-heading: "Manrope", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --content-width: 76rem;
  --measure: 46rem;
  --space-1: 0.5rem;
  --space-2: 0.75rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 5rem;
  --radius-sm: 0.25rem;
  --transition: 180ms ease;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--color-charcoal);
  background: var(--color-white);
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

body.nav-open {
  overflow: hidden;
}

img,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

[hidden] {
  display: none !important;
}

a {
  color: var(--color-navy);
  text-underline-offset: 0.2em;
  text-decoration-thickness: 0.08em;
}

a:hover {
  color: var(--color-teal-dark);
}

:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--color-teal);
  outline-offset: 3px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: 0 0.6em;
  color: var(--color-navy);
  font-family: var(--font-heading);
  line-height: 1.12;
  text-wrap: balance;
}

h1 {
  font-size: clamp(2.5rem, 6vw, 3.75rem);
  font-weight: 700;
}

h2 {
  font-size: clamp(1.875rem, 4vw, 2.75rem);
  font-weight: 700;
}

h3 {
  font-size: clamp(1.25rem, 2.5vw, 1.625rem);
  font-weight: 600;
}

p {
  margin-block: 0 1em;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.layout-container {
  width: min(calc(100% - 2rem), var(--content-width));
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--space-3);
  left: var(--space-3);
  padding: var(--space-2) var(--space-3);
  color: var(--color-white);
  background: var(--color-navy);
  transform: translateY(-200%);
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid var(--color-grey);
  background: rgb(255 255 255 / 96%);
  backdrop-filter: blur(10px);
}

.site-header__inner {
  display: flex;
  min-height: 4.5rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.custom-logo {
  width: auto;
  max-height: 2.15rem;
}

.site-brand__logo { width: 10.5rem; height: auto; aspect-ratio: 430 / 88; }

.site-brand__link { display: inline-flex; align-items: center; }

.site-nav__toggle {
  display: inline-flex;
  min-width: 3rem;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  border: 1px solid var(--color-grey);
  border-radius: var(--radius-sm);
  color: var(--color-navy);
  background: var(--color-white);
  font: 600 0.9375rem/1 var(--font-body);
  cursor: pointer;
}

.site-nav__toggle-icon,
.site-nav__toggle-icon::before,
.site-nav__toggle-icon::after {
  display: block;
  width: 1.25rem;
  height: 2px;
  background: currentColor;
  transition: transform var(--transition);
  content: "";
}

.site-nav__toggle-icon::before {
  transform: translateY(-0.4rem);
}

.site-nav__toggle-icon::after {
  transform: translateY(0.28rem);
}

.site-nav__toggle[aria-expanded="true"] .site-nav__toggle-icon {
  background: transparent;
}

.site-nav__toggle[aria-expanded="true"] .site-nav__toggle-icon::before {
  transform: rotate(45deg);
}

.site-nav__toggle[aria-expanded="true"] .site-nav__toggle-icon::after {
  transform: translateY(-2px) rotate(-45deg);
}

.site-nav {
  position: fixed;
  inset: 4.5rem 0 auto;
  display: none;
  padding: var(--space-4) 1rem var(--space-5);
  border-bottom: 1px solid var(--color-grey);
  background: var(--color-white);
}

.site-nav[data-open="true"] {
  display: block;
}

.site-nav__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: var(--content-width);
  padding: 0;
  margin: 0 auto;
  list-style: none;
}

.site-nav__link,
.site-nav .menu-item > a {
  display: block;
  padding: 0.875rem 0;
  border-bottom: 1px solid var(--color-grey);
  color: var(--color-navy);
  font-size: 0.9375rem;
  font-weight: 500;
  text-decoration: none;
}

.site-main {
  min-height: 60vh;
  padding-block: var(--space-7);
}

.section { padding-block: clamp(4rem, 9vw, 8rem); overflow: clip; }
.section--light { background: var(--color-off-white); }
.section-heading { max-width: 48rem; margin-bottom: var(--space-6); }
.section-heading > p:last-child, .section-copy > p { max-width: 42rem; }
.split { display: grid; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.text-accent, .hero h1 span { color: var(--color-teal-dark); }
.button-group { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
.button--secondary { color: var(--color-navy); background: transparent; }
.button--secondary:hover { background: var(--color-ice); }
.development-note { padding: var(--space-3); border-left: 3px solid var(--color-teal); background: rgb(220 238 248 / 55%); font-size: .9rem; }
.disclaimer { margin-top: var(--space-5); font-size: .85rem; opacity: .8; }

.hero { min-height: min(50rem, calc(100svh - 4.5rem)); display: grid; align-items: center; background: linear-gradient(125deg, var(--color-off-white), var(--color-white) 65%); }
.hero__inner { display: grid; gap: var(--space-6); align-items: center; }
.hero__content { max-width: 43rem; }
.hero__copy { max-width: 39rem; font-size: clamp(1.05rem, 2vw, 1.2rem); }
.hero-product { position: relative; min-height: 30rem; display: flex; align-items: end; justify-content: center; border-radius: .5rem; background: radial-gradient(circle at 55% 35%, var(--color-white), var(--color-ice)); }
.product-bottle { position: relative; width: 9rem; height: 23rem; border: 2px solid #b8cbd5; border-radius: 2.6rem 2.6rem 2rem 2rem; background: linear-gradient(90deg, rgb(255 255 255 / 25%), rgb(220 238 248 / 75%) 45%, rgb(255 255 255 / 20%)); box-shadow: 0 2rem 3rem rgb(11 31 51 / 12%); }
.product-bottle__cap { position: absolute; top: -1.4rem; left: 3.1rem; width: 2.8rem; height: 1.7rem; border-radius: .3rem .3rem .15rem .15rem; background: var(--color-navy); }
.product-bottle__label { position: absolute; inset: 7rem .65rem auto; padding: 1.25rem .4rem; color: var(--color-white); background: var(--color-navy); font-family: var(--font-heading); font-size: 1.1rem; font-weight: 700; line-height: 1.05; letter-spacing: .06em; text-align: center; }
.product-bottle__label small { color: var(--color-ice); font-size: .62rem; }
.product-bottle__cue { position: absolute; right: .8rem; bottom: 2.4rem; left: .8rem; color: var(--color-navy); font-size: .65rem; font-weight: 600; text-align: center; }
.product-bottle--hero { z-index: 2; margin: 0 5rem 2rem 0; transform: rotate(-3deg); }
.phone-preview { position: absolute; z-index: 3; right: 8%; bottom: 1.5rem; width: 10rem; min-height: 19rem; padding: 2rem 1.1rem 1.2rem; border: .45rem solid var(--color-navy); border-radius: 1.6rem; color: var(--color-white); background: var(--color-navy); box-shadow: 0 2rem 3rem rgb(11 31 51 / 22%); }
.phone-preview::before { position: absolute; inset: 3.9rem .7rem auto; height: 5rem; background: linear-gradient(135deg, var(--color-teal), var(--color-ice)); content: ""; }
.phone-preview__bar { position: absolute; top: .65rem; left: 3.6rem; width: 2.8rem; height: .3rem; border-radius: 1rem; background: var(--color-grey); }
.phone-preview p { margin-top: 8rem; color: var(--color-ice); font-size: .55rem; letter-spacing: .12em; }
.phone-preview strong { display: block; font-family: var(--font-heading); line-height: 1.1; }
.phone-preview > span:last-child { display: block; margin-top: 2rem; color: var(--color-ice); font-size: .6rem; }

.pillar-list, .cue-list { display: flex; flex-wrap: wrap; gap: .65rem; padding: 0; margin: var(--space-5) 0 0; list-style: none; }
.pillar-list li, .cue-list li { padding: .5rem .8rem; border-left: 2px solid var(--color-teal); background: var(--color-white); font-size: .9rem; font-weight: 600; }
.event-scene, .recycle-scene { position: relative; min-height: 26rem; overflow: hidden; border-radius: .5rem; background: linear-gradient(135deg, #e8e3db, var(--color-white)); }
.event-scene__arch { position: absolute; top: 3rem; left: 10%; width: 80%; height: 15rem; border: 1.6rem solid var(--color-white); border-bottom: 0; border-radius: 9rem 9rem 0 0; }
.event-scene__person { position: absolute; bottom: 5rem; width: 4rem; height: 10rem; border-radius: 2rem 2rem .5rem .5rem; background: var(--color-navy); }
.event-scene__person::before { position: absolute; top: -2.6rem; left: .7rem; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: #b88768; content: ""; }
.event-scene__person--one { left: 28%; }.event-scene__person--two { right: 25%; height: 9rem; background: var(--color-teal-dark); }
.event-scene__table { position: absolute; right: 8%; bottom: 2rem; left: 8%; height: 3rem; border-radius: 50%; background: #cabba9; }

.journey-list { display: grid; gap: 1px; padding: 0; background: var(--color-grey); list-style: none; }
.journey-list li { padding: var(--space-5); background: var(--color-white); }
.journey-list li > span, .sustainability-steps li > span { color: var(--color-teal-dark); font-family: var(--font-heading); font-weight: 700; }
.journey-list h3 { margin-top: var(--space-5); }

.solution-tabs__list { display: flex; gap: .5rem; padding-block: .25rem var(--space-4); overflow-x: auto; scrollbar-width: thin; }
.solution-tabs__list button { flex: 0 0 auto; min-height: 3rem; padding: .7rem 1rem; border: 1px solid var(--color-grey); border-radius: var(--radius-sm); color: var(--color-navy); background: var(--color-white); font: 600 .9rem/1.2 var(--font-body); cursor: pointer; }
.solution-tabs__list button[aria-selected="true"] { color: var(--color-white); border-color: var(--color-navy); background: var(--color-navy); }
.solution-panel { display: grid; min-height: 21rem; gap: var(--space-5); align-items: center; padding: clamp(1.5rem, 4vw, 3rem); background: var(--color-white); }
.solution-panel[hidden] { display: none; }
.solution-panel__visual { position: relative; min-height: 15rem; background: linear-gradient(135deg, var(--color-ice), var(--color-off-white)); }
.solution-panel__visual span { position: absolute; bottom: 0; width: 22%; border-radius: 4rem 4rem 0 0; background: var(--color-navy); }.solution-panel__visual span:nth-child(1){left:15%;height:55%}.solution-panel__visual span:nth-child(2){left:40%;height:75%;background:var(--color-teal)}.solution-panel__visual span:nth-child(3){right:13%;height:48%}
.flexible-grid { display: grid; gap: 1px; margin-top: var(--space-6); background: var(--color-grey); }
.flexible-grid article { padding: var(--space-5); background: var(--color-white); }
.supporting-items { color: var(--color-teal-dark); font-size: .9rem; font-weight: 600; }

.formats-grid { display: grid; gap: var(--space-5); align-items: end; }
.formats-grid article { text-align: center; }
.format-visual { position: relative; width: 8rem; height: 20rem; margin: 0 auto var(--space-4); border: 2px solid #acbdc8; background: linear-gradient(90deg, #edf2f4, #fff, #dce6ea); box-shadow: 0 1.5rem 2rem rgb(11 31 51 / 10%); }
.format-visual--rpet { border-radius: 2.4rem 2.4rem 1.7rem 1.7rem; }.format-visual--rpet::before,.format-visual--aluminium::before { position:absolute;top:-1.2rem;left:2.6rem;width:2.8rem;height:1.3rem;background:var(--color-navy);content:""; }
.format-visual--aluminium { height: 19rem; border-radius: 1.7rem 1.7rem 1.1rem 1.1rem; background: linear-gradient(90deg, #788994, #edf1f3 45%, #8f9da5); }
.format-visual--can { width: 8.5rem; height: 16rem; border-radius: .8rem; background: linear-gradient(90deg, #8c999f, #fff 45%, #79868c); }
.format-visual span { position: absolute; inset: 7rem 0 auto; padding: .75rem; color: var(--color-white); background: var(--color-navy); font-family: var(--font-heading); font-weight: 700; letter-spacing: .1em; }.format-visual--can span{inset:5rem 0 auto}
.connectivity-callout { display: flex; gap: var(--space-4); max-width: 50rem; padding: var(--space-5); margin: var(--space-6) auto 0; border: 1px solid var(--color-grey); background: var(--color-off-white); }.connectivity-callout > span{font-size:2rem;color:var(--color-teal-dark)}

.explore { color: var(--color-white); background: var(--color-navy); }.explore h2,.explore h3{color:var(--color-white)}.explore .eyebrow,.contact .eyebrow{color:var(--color-ice)}
.explore-stage { position: relative; min-height: 28rem; display: grid; place-items: center; background: radial-gradient(circle, #1c4b5a, var(--color-navy) 67%); }
.product-bottle--explore { transform: rotate(8deg); }.explore-stage__instruction{position:absolute;bottom:1.5rem;font-size:.8rem;letter-spacing:.08em}
.form-shell { min-height: 18rem; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--color-grey); background: var(--color-white); }
.sustainability-steps { display: grid; gap: 1px; padding: 0; margin-top: var(--space-5); background: var(--color-grey); list-style: none; }.sustainability-steps li{display:grid;grid-template-columns:3rem 1fr;gap:var(--space-3);padding:var(--space-4);background:var(--color-white)}.sustainability-steps h3{margin:0}.sustainability-steps p{margin:0}
.recycle-scene { background: linear-gradient(145deg, var(--color-ice), #d6cec3); }.recycle-scene__hand{position:absolute;top:4rem;right:-2rem;width:65%;height:4rem;border-radius:3rem;background:#b88768;transform:rotate(-14deg)}.recycle-scene__can{position:absolute;top:8rem;left:43%;width:5rem;height:10rem;padding-top:4rem;color:white;background:var(--color-teal-dark);text-align:center;transform:rotate(12deg)}.recycle-scene__point{position:absolute;right:8%;bottom:0;left:8%;height:10rem;padding-top:3rem;color:white;background:var(--color-navy);font-weight:600;text-align:center}
.contact { color: var(--color-white); background: linear-gradient(120deg, var(--color-navy), #123c4e); }.contact h2,.contact h3{color:var(--color-white)}.contact__inner{display:grid;gap:var(--space-6)}.contact__inner>div:first-child{max-width:44rem}.contact-routes{display:grid;gap:1px;background:rgb(220 238 248 / 30%)}.contact-routes article{padding:var(--space-5);background:rgb(11 31 51 / 85%)}.contact-routes a{display:inline-flex;margin-top:var(--space-3);color:var(--color-white);font-weight:600}

.event-hub { --event-primary: var(--color-navy); --event-accent: var(--color-teal); background: var(--color-off-white); }
.event-hub__hero { padding-block: clamp(4rem, 9vw, 8rem); color: var(--color-white); background: var(--event-primary); }
.event-hub__hero h1 { color: var(--color-white); }.event-hub__hero .eyebrow{color:var(--color-ice)}
.event-hub__hero-inner{display:grid;gap:var(--space-6);align-items:center}.event-hub__summary{max-width:42rem;font-size:clamp(1.05rem,2vw,1.25rem)}.event-hub__button{margin-top:var(--space-4);border-color:var(--color-white);color:var(--event-primary);background:var(--color-white)}
.event-hub__media{margin:0;overflow:hidden;border-radius:.5rem}.event-hub__media img{width:100%;aspect-ratio:4/3;object-fit:cover}.event-hub__media--placeholder{position:relative;min-height:20rem;background:linear-gradient(135deg,var(--event-accent),var(--color-ice))}.event-hub__media--placeholder span{position:absolute;bottom:0;width:22%;border-radius:5rem 5rem 0 0;background:var(--event-primary)}.event-hub__media--placeholder span:nth-child(1){left:14%;height:50%}.event-hub__media--placeholder span:nth-child(2){left:40%;height:72%}.event-hub__media--placeholder span:nth-child(3){right:12%;height:42%}
.event-hub__body{display:grid;gap:var(--space-5);padding-block:clamp(3rem,7vw,6rem)}.event-hub__section,.event-hub__reward{padding:clamp(1.5rem,4vw,3rem);background:var(--color-white)}.event-hub__section{border-top:4px solid var(--event-accent)}.event-hub__partners{display:grid;gap:.6rem;padding:0;list-style:none}.event-hub__partners li{padding:.8rem 1rem;border:1px solid var(--color-grey)}.event-hub__reward{color:var(--color-white);background:var(--event-primary)}.event-hub__reward h2{color:var(--color-white)}.event-hub__disclaimer{font-size:.85rem;opacity:.8}

.entry,
.empty-state {
  max-width: var(--measure);
}

.entry__content > * + * {
  margin-block-start: var(--space-4);
}

.eyebrow {
  margin-bottom: var(--space-2);
  color: var(--color-teal-dark);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.button {
  display: inline-flex;
  min-height: 2.875rem;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.2rem;
  border: 2px solid var(--color-navy);
  border-radius: var(--radius-sm);
  color: var(--color-white);
  background: var(--color-navy);
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
}

.button:hover {
  color: var(--color-navy);
  background: var(--color-ice);
}

.site-footer {
  border-top: 1px solid rgb(220 238 248 / 25%);
  color: var(--color-white);
  background: var(--color-navy);
}

.site-footer__inner {
  display: grid;
  gap: var(--space-5);
  padding-block: var(--space-6);
}
.site-footer h2{color:var(--color-ice);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}.site-footer ul{padding:0;margin:0;list-style:none}.site-footer li+li{margin-top:.4rem}.site-footer a{color:var(--color-white);font-size:.9rem}.site-footer__disclosure{padding-top:var(--space-4);border-top:1px solid rgb(220 238 248 / 25%);grid-column:1/-1}

.site-footer__brand {
  display: inline-flex;
  margin: 0 0 .65rem;
  padding: .4rem .65rem;
  background: var(--color-white);
}

.site-footer__logo { width: auto; height: 1.75rem; }

.site-footer__statement {
  max-width: 38rem;
  color: var(--color-ice);
}

.site-footer__legal {
  margin: 0;
  color: var(--color-ice);
  font-size: 0.875rem;
}

@media (min-width: 64rem) {
  body.nav-open {
    overflow: auto;
  }

  .site-nav__toggle {
    display: none;
  }

  .site-nav {
    position: static;
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .site-nav__list {
    flex-direction: row;
    align-items: center;
    gap: var(--space-4);
  }

  .site-nav__link,
  .site-nav .menu-item > a {
    position: relative;
    padding: 1rem 0;
    border: 0;
  }

  .site-nav__link::after,
  .site-nav .menu-item > a::after {
    position: absolute;
    right: 0;
    bottom: 0.65rem;
    left: 0;
    height: 2px;
    background: var(--color-teal);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--transition);
    content: "";
  }

  .site-nav__link:hover::after,
  .site-nav__link:focus-visible::after,
  .site-nav .menu-item > a:hover::after,
  .site-nav .menu-item > a:focus-visible::after {
    transform: scaleX(1);
  }

  .hero__inner { grid-template-columns: minmax(0, 1fr) minmax(26rem, .85fr); }
  .split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journey-list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .journey-list li { min-height: 22rem; }
  .solution-panel { grid-template-columns: .8fr 1.2fr; }
  .flexible-grid { grid-template-columns: repeat(2, 1fr); }
  .formats-grid { grid-template-columns: repeat(3, 1fr); }
  .contact__inner { grid-template-columns: .8fr 1.2fr; align-items: end; }
  .contact-routes { grid-template-columns: repeat(2, 1fr); }
  .site-footer__inner { grid-template-columns: 1.6fr repeat(3, 1fr); }
  .event-hub__hero-inner { grid-template-columns: 1.05fr .95fr; }
  .event-hub__body { grid-template-columns: repeat(2,minmax(0,1fr)); }.event-hub__reward,.event-hub__disclaimer{grid-column:1/-1}
}

@media (max-width: 40rem) { .hero-product{min-height:26rem}.phone-preview{right:1rem;width:8.5rem;min-height:17rem}.product-bottle--hero{margin-right:4.5rem;width:7.5rem;height:20rem}.product-bottle__cap{left:2.4rem}.hero h1{font-size:clamp(2.4rem,12vw,3.4rem)} }

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Broken-state correction: consistent panels, production form and compact closing rhythm. */
.corporate-site .solution-panel__copy {
  min-width: 0;
  padding: 3rem clamp(2.5rem, 3.2vw, 3.35rem) 5.4rem;
}

.corporate-site .solution-panel__copy .eyebrow { margin-bottom: 1.35rem; }
.corporate-site .solution-panel__copy h3 { margin-bottom: 1.25rem; }
.corporate-site .solution-panel__copy > p:not(.eyebrow, .solution-panel__cue) { margin-bottom: 0; }
.corporate-site .solution-panel__cue {
  right: clamp(2.5rem, 3.2vw, 3.35rem);
  bottom: 1.8rem;
  left: clamp(2.5rem, 3.2vw, 3.35rem);
}

.corporate-site .solution-tabs__list { scrollbar-width: none; }
.corporate-site .solution-tabs__list::-webkit-scrollbar { display: none; }

.corporate-site .journey-list li,
.corporate-site .journey-list li:nth-child(even),
.corporate-site .journey-list li:nth-child(3) {
  background: transparent;
  border-color: transparent;
}

@media (min-width: 64rem) {
  .corporate-site .journey-list li { display: flex; flex-direction: column; align-items: flex-start; }
  .corporate-site .journey-list h3 { min-height: 2.6rem; }
}

body .form-shell {
  padding: clamp(2rem, 3vw, 3rem);
  color: var(--color-charcoal);
  background: rgb(255 255 255 / 96%);
  border: 1px solid rgb(11 31 51 / 10%);
}

body .form-shell h3 { margin-bottom: 1.5rem; color: var(--color-navy); }
.partnership-form { display: grid; gap: 1.3rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.15rem; }
.form-field { min-width: 0; }
.form-field label,
.form-choice legend {
  display: block;
  margin-bottom: .45rem;
  color: var(--color-navy);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .025em;
}
.form-optional { color: #667681; font-weight: 500; }
.form-field input,
.form-field textarea {
  width: 100%;
  min-height: 3rem;
  padding: .7rem .8rem;
  border: 1px solid #bdc9d0;
  border-radius: .15rem;
  color: var(--color-charcoal);
  background: var(--color-off-white);
  font: inherit;
  font-size: .93rem;
  line-height: 1.4;
  transition: border-color var(--transition), box-shadow var(--transition), background-color var(--transition);
}
.form-field textarea { min-height: 7rem; resize: vertical; }
.form-field input:focus,
.form-field textarea:focus { border-color: var(--color-teal-dark); background: var(--color-white); box-shadow: 0 0 0 3px rgb(79 143 139 / 16%); outline: 0; }
.form-choice { min-width: 0; padding: 0; margin: 0; border: 0; }
.form-choice__options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.form-choice__options label { display: flex; min-height: 3rem; align-items: center; gap: .55rem; padding: .65rem .7rem; border: 1px solid #c8d2d8; color: var(--color-navy); background: var(--color-off-white); font-size: .8rem; cursor: pointer; }
.form-choice__options input { width: 1rem; height: 1rem; accent-color: var(--color-teal-dark); }
.has-error input,
.has-error textarea,
.form-choice.has-error .form-choice__options label { border-color: #a83232; }
.form-error { margin: .35rem 0 0; color: #8b2525; font-size: .78rem; font-weight: 600; }
.form-privacy { margin: -.1rem 0 0; color: #55636d; font-size: .73rem; line-height: 1.55; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.form-actions p { margin: 0; color: #5d6b75; font-size: .76rem; }
.form-shell .form-actions .button { color: var(--color-white); background: var(--color-navy); }
.form-shell .form-actions .button:hover { color: var(--color-white); background: var(--color-teal-dark); }
.form-notice { padding: 1.2rem 1.25rem; border-left: 3px solid var(--color-teal); background: var(--color-off-white); }
.form-notice h4 { margin-bottom: .35rem; }
.form-notice p { margin: 0; }
.form-notice--error { border-left-color: #a83232; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.corporate-site .contact { padding-block: clamp(2.5rem, 3.5vw, 3.5rem); }
.corporate-site .contact__inner {
  padding: clamp(2.35rem, 4vw, 3.75rem);
  gap: clamp(2.5rem, 4.5vw, 4.75rem);
  background: rgb(5 24 37 / 42%);
  border: 1px solid rgb(220 238 248 / 13%);
}
.corporate-site .contact__inner > div:first-child { max-width: 32rem; }
.corporate-site .contact__inner > div:first-child > p:last-child { margin-bottom: 0; }
.corporate-site .contact-routes { gap: clamp(1.15rem, 2vw, 2rem); }
.corporate-site .contact-routes article {
  min-height: 10.5rem;
  padding: 1.55rem 1.4rem 1.35rem;
  border: 1px solid rgb(220 238 248 / 17%);
  border-top-color: rgb(220 238 248 / 42%);
  background: rgb(11 31 51 / 28%);
}
.corporate-site .contact-routes article:hover { border-color: rgb(79 143 139 / 66%); background: rgb(11 31 51 / 38%); }
.corporate-site .contact-routes article > :last-child { margin-bottom: 0; }

.is-3d-fallback .explore-controls,
.is-3d-pending .explore-controls,
.is-3d-loading .explore-controls { display: none; }
.is-3d-fallback .explore-stage { cursor: default; }

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .corporate-site .solution-panel__copy { padding: 2.5rem 2.25rem 5rem; }
  .corporate-site .solution-panel__cue { right: 2.25rem; bottom: 1.6rem; left: 2.25rem; }
  .corporate-site .contact__inner { padding: 2.5rem; gap: 2.25rem; }
  .corporate-site .contact-routes { grid-template-columns: 1fr; }
  .corporate-site .contact-routes article { min-height: 8.75rem; }
}

@media (max-width: 40rem) {
  .corporate-site .solution-panel__copy { padding: 2rem 1.5rem 4.75rem; }
  .corporate-site .solution-panel__copy .eyebrow { margin-bottom: 1rem; }
  .corporate-site .solution-panel__copy h3 { margin-bottom: 1rem; }
  .corporate-site .solution-panel__cue { right: 1.5rem; bottom: 1.4rem; left: 1.5rem; }
  body .form-shell { padding: 1.5rem; }
  .form-grid,
  .form-choice__options { grid-template-columns: 1fr; }
  .form-actions { align-items: flex-start; flex-direction: column; }
  .corporate-site .contact { padding-block: 2rem; }
  .corporate-site .contact__inner { width: min(calc(100% - 1.25rem), var(--content-width)); padding: 1.75rem 1.35rem; gap: 2rem; }
  .corporate-site .contact-routes { gap: 1rem; }
  .corporate-site .contact-routes article { min-height: 0; padding: 1.35rem 1.15rem; }
}

/* Production visual QA: premium spacing without oversized section density. */
:root {
  --content-width: 82rem;
  --section-space: clamp(4.5rem, 5.5vw, 6rem);
}

html {
  scroll-padding-top: 5.5rem;
}

.corporate-site section[id] {
  scroll-margin-top: 5.5rem;
}

.site-header__inner {
  min-height: 4.5rem;
}

.hero {
  min-height: 0;
  padding-block: clamp(1.75rem, 3.5vw, 3.5rem);
}

.hero__composition {
  min-height: clamp(34rem, 42vw, 39rem);
}

.hero__content {
  padding-top: clamp(2.5rem, 5vw, 4.5rem);
}

.hero h1 {
  font-size: clamp(3.1rem, 4.2vw, 3.75rem);
}

.hero .button-group {
  margin-top: 1.6rem;
}

.about-editorial .section-copy {
  padding-block: clamp(2rem, 3vw, 3rem);
  margin-top: 2rem;
}

.about-editorial .event-scene {
  min-height: clamp(30rem, 38vw, 34rem);
  aspect-ratio: 4 / 3;
}

.about-editorial__note {
  margin-bottom: 0;
}

.journey .section-heading {
  margin-bottom: clamp(2.5rem, 4vw, 3.75rem);
}

.journey-list {
  gap: 1rem 2.5rem;
}

.journey-list li {
  min-height: 7.75rem;
  grid-template-columns: 4.25rem 1fr;
  gap: 1.15rem;
  padding: 1rem 1.35rem;
}

.journey-list li::after {
  right: -2.5rem;
  width: 2.5rem;
}

.journey-list li:nth-child(even)::after {
  left: -2.5rem;
}

.journey-cue {
  width: 4rem;
  height: 4rem;
}

.journey-list h3 {
  margin-bottom: .35rem;
  font-size: 1.15rem;
}

.solution-tabs {
  margin-top: 2.75rem;
}

.solution-tabs__list button {
  min-height: 3.75rem;
}

.solution-panel {
  min-height: 26rem;
  grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr);
}

.solution-panel__copy {
  padding: 3rem clamp(2rem, 3.5vw, 3.5rem);
}

.solution-panel__copy h3 {
  font-size: clamp(2rem, 2.7vw, 2.65rem);
}

.solution-panel__cue {
  right: 2.25rem;
  bottom: 1.5rem;
  left: clamp(2rem, 3.5vw, 3.5rem);
}

.solution-panel__visual,
.solution-panel__visual img {
  min-height: 26rem;
}

.flexible-grid {
  gap: clamp(2.5rem, 5vw, 5rem);
  margin-top: clamp(2.75rem, 4vw, 4rem);
}

.flexible-grid article {
  padding-top: 1.5rem;
}

.formats-grid {
  gap: clamp(1.5rem, 3.5vw, 3.5rem);
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

.format-product,
.formats-grid article:nth-child(2) .format-product,
.formats-grid article:nth-child(3) .format-product {
  height: clamp(17rem, 22vw, 21rem);
  margin-bottom: 1.25rem;
}

.formats-grid article:nth-child(2) .format-product {
  height: clamp(19rem, 24vw, 23rem);
}

.formats-grid article:nth-child(3) .format-product {
  height: clamp(16rem, 20vw, 19rem);
}

.format-index {
  top: 2rem;
}

.connectivity-callout {
  margin-top: 3.25rem;
}

.explore {
  min-height: 0;
  padding-block: clamp(5rem, 6vw, 6rem);
}

.explore__copy {
  padding-block: 1.5rem;
}

.explore__copy h2 {
  font-size: clamp(2.6rem, 4vw, 3.75rem);
}

.explore-viewer {
  margin: -1rem -1.5rem -1rem 0;
}

.explore-stage {
  min-height: clamp(30rem, 39vw, 36rem);
}

.explore-stage__badge {
  top: 1.5rem;
  right: 1.5rem;
}

#partnership {
  padding-block: clamp(4.5rem, 5.5vw, 6rem);
}

#partnership .section-copy {
  padding-block: 1.5rem;
}

.form-shell {
  min-height: 16rem;
  padding: clamp(1.75rem, 3vw, 3rem);
}

.recycle-scene {
  min-height: clamp(24rem, 32vw, 28rem);
  aspect-ratio: 4 / 3;
}

.contact {
  min-height: 0;
  padding-block: clamp(4.75rem, 6vw, 6rem);
}

.contact-routes article {
  min-height: 11rem;
  padding: 1.6rem;
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .hero-product--image {
    min-height: 26rem;
  }

  .about-editorial .event-scene {
    min-height: 29rem;
  }

  .journey-list li,
  .journey-list li:nth-child(even) {
    min-height: 7.5rem;
    grid-column: 1 / 7;
  }

  .journey-list li:nth-child(even) {
    grid-column: 7 / 13;
  }

  .journey-list li:nth-child(5) {
    grid-column: 4 / 10;
  }

  .solution-panel {
    grid-template-columns: minmax(17rem, .82fr) minmax(0, 1.18fr);
  }

  .solution-panel__copy {
    min-height: 24rem;
    padding: 2.25rem 1.75rem 4.5rem;
  }

  .solution-panel__visual,
  .solution-panel__visual img {
    min-height: 24rem;
  }

  .explore-stage {
    min-height: 31rem;
  }
}

@media (max-width: 40rem) {
  :root {
    --section-space: clamp(3.5rem, 14vw, 4.5rem);
  }

  .corporate-site .section-heading h2,
  .corporate-site .section-copy h2 {
    font-size: clamp(2rem, 9vw, 2.25rem);
  }

  .corporate-site .eyebrow {
    margin-bottom: 1rem;
  }

  .hero {
    padding-top: 1.75rem;
    padding-bottom: 2.5rem;
  }

  .hero__composition {
    gap: 1.5rem;
  }

  .hero__content {
    padding-top: .5rem;
  }

  .hero h1 {
    margin-bottom: 1.1rem;
    font-size: clamp(2.65rem, 11.5vw, 3rem);
  }

  .hero__copy {
    font-size: 1rem;
    line-height: 1.58;
  }

  .hero .button-group {
    margin-top: 1.4rem;
  }

  .hero-product--image,
  .hero-product--image img {
    min-height: 18rem;
  }

  .about-editorial .section-copy {
    padding-block: 1.5rem;
  }

  .about-editorial .event-scene {
    min-height: 20rem;
    aspect-ratio: 4 / 3;
  }

  .journey .section-heading {
    margin-bottom: 2rem;
  }

  .journey-list li,
  .journey-list li:nth-child(even) {
    min-height: 0;
    grid-template-columns: 3.5rem 1fr;
    gap: .85rem;
    padding: .9rem 1rem;
  }

  .journey-cue {
    width: 3.35rem;
    height: 3.35rem;
    transform: scale(.9);
  }

  .journey-list h3 {
    font-size: 1rem;
  }

  .journey-list p {
    font-size: .84rem;
  }

  .solution-tabs {
    margin-top: 2rem;
  }

  .solution-tabs__list button {
    min-height: 3.35rem;
  }

  .solution-panel__copy {
    min-height: 0;
    padding: 1.75rem 1.25rem 4.5rem;
  }

  .solution-panel__copy h3 {
    font-size: 2rem;
  }

  .solution-panel__visual,
  .solution-panel__visual img {
    min-height: 16rem;
  }

  .flexible-grid {
    gap: 1.75rem;
    margin-top: 2rem;
  }

  .formats-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.75rem 1rem;
    padding-top: 1.5rem;
  }

  .formats-grid article:nth-child(3) {
    width: 50%;
    grid-column: 1 / -1;
    justify-self: center;
  }

  .format-product,
  .formats-grid article:nth-child(2) .format-product,
  .formats-grid article:nth-child(3) .format-product {
    height: 14rem;
    margin-bottom: .75rem;
  }

  .format-index {
    top: .5rem;
    left: .25rem;
  }

  .format-meta {
    padding-top: .9rem;
  }

  .format-meta h3 {
    font-size: .98rem;
  }

  .format-meta p {
    font-size: .75rem;
  }

  .connectivity-callout {
    margin-top: 2rem;
  }

  .explore {
    padding-block: 4.25rem;
  }

  .explore__copy {
    padding: 0;
  }

  .explore__copy h2 {
    font-size: clamp(2.35rem, 10.5vw, 2.65rem);
  }

  .explore-viewer {
    margin: 1rem 0 0;
  }

  .explore-stage {
    min-height: 26rem;
  }

  #partnership {
    padding-block: 4.25rem;
  }

  #partnership .section-copy {
    padding-block: 0;
  }

  .form-shell {
    min-height: 14rem;
    padding: 1.5rem;
  }

  .recycle-scene {
    min-height: 20rem;
  }

  .contact {
    padding-block: 4.25rem;
  }

  .contact-routes article {
    min-height: 10rem;
  }
}

/* Premium corporate visual pass: restrained editorial depth based on the approved reference direction. */
:root {
  --shadow-soft: 0 2rem 5rem rgb(11 31 51 / 10%);
  --shadow-product: 0 3rem 6rem rgb(4 18 30 / 22%);
  --line-subtle: rgb(11 31 51 / 11%);
}

.corporate-site .section {
  position: relative;
}

.corporate-site .section-heading h2,
.corporate-site .section-copy h2 {
  max-width: 15ch;
  font-size: clamp(2.25rem, 4.8vw, 4.4rem);
  letter-spacing: -0.045em;
}

.corporate-site .section-heading > p:last-child,
.corporate-site .section-copy > p {
  font-size: clamp(1rem, 1.45vw, 1.14rem);
}

.corporate-site .eyebrow {
  display: flex;
  align-items: center;
  gap: .75rem;
  letter-spacing: .17em;
}

.corporate-site .eyebrow::after {
  width: 2.5rem;
  height: 1px;
  background: currentColor;
  opacity: .45;
  content: "";
}

.button {
  gap: .55rem;
  border-radius: 999px;
  transition: color var(--transition), background var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 .8rem 1.8rem rgb(11 31 51 / 12%);
}

.button--ice {
  border-color: var(--color-ice);
  color: var(--color-navy);
  background: var(--color-ice);
}

.button--ice:hover {
  border-color: var(--color-white);
  color: var(--color-navy);
  background: var(--color-white);
}

.button--ghost {
  border-color: rgb(220 238 248 / 55%);
  color: var(--color-white);
  background: transparent;
}

.hero {
  isolation: isolate;
  min-height: min(57rem, calc(100svh - 4.5rem));
  background:
    linear-gradient(112deg, rgb(246 248 250 / 98%) 0 43%, rgb(246 248 250 / 72%) 62%, rgb(255 255 255 / 32%) 100%),
    radial-gradient(circle at 82% 18%, var(--color-ice), transparent 42%),
    var(--color-white);
}

.hero::before,
.hero::after {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  content: "";
}

.hero::before {
  inset: 0 0 0 56%;
  background: linear-gradient(132deg, transparent 20%, rgb(255 255 255 / 72%) 20.3% 39%, transparent 39.3% 62%, rgb(79 143 139 / 8%) 62.3%);
  transform: skewX(-6deg);
}

.hero::after {
  right: 4vw;
  bottom: 4rem;
  width: 34vw;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(11 31 51 / 25%), transparent);
  box-shadow: 0 2.2rem 3.5rem 1.3rem rgb(11 31 51 / 12%);
}

.hero h1 {
  max-width: 11ch;
  font-size: clamp(3.35rem, 6.3vw, 6.6rem);
  letter-spacing: -.065em;
  line-height: .94;
}

.hero__content {
  position: relative;
  z-index: 2;
}

.hero__copy {
  margin-top: 1.8rem;
  color: #31414e;
}

.hero-product {
  min-height: 38rem;
  overflow: visible;
  background:
    radial-gradient(ellipse at 48% 80%, rgb(11 31 51 / 18%), transparent 42%),
    radial-gradient(circle at 50% 36%, rgb(255 255 255 / 90%), rgb(220 238 248 / 62%) 52%, transparent 72%);
}

.hero-product::before {
  position: absolute;
  inset: 7% 7% 4%;
  border: 1px solid rgb(79 143 139 / 18%);
  border-radius: 48% 48% 5% 5%;
  box-shadow: inset 0 0 5rem rgb(255 255 255 / 58%);
  content: "";
}

.hero-product--image {
  position: relative;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgb(11 31 51 / 9%);
  border-radius: .45rem;
  background: var(--color-ice);
  box-shadow: 0 2.6rem 5rem rgb(11 31 51 / 19%);
}

.hero-product--image::before {
  z-index: 1;
  inset: 0;
  border: 0;
  border-radius: 0;
  background: linear-gradient(145deg, rgb(255 255 255 / 3%) 35%, rgb(11 31 51 / 13%));
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 20%);
  pointer-events: none;
}

.hero-product--image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: cover;
}

.hero-product--image figcaption {
  position: absolute;
  z-index: 2;
  right: .8rem;
  bottom: .8rem;
  max-width: calc(100% - 1.6rem);
  padding: .45rem .65rem;
  color: var(--color-white);
  background: rgb(11 31 51 / 72%);
  font-size: .66rem;
  line-height: 1.35;
  backdrop-filter: blur(8px);
}

.product-bottle--hero {
  width: 10.25rem;
  height: 27rem;
  margin-right: 6.5rem;
  box-shadow: var(--shadow-product);
}

.product-bottle__label {
  display: grid;
  gap: .26rem;
}

.product-bottle__label small:first-child {
  margin-bottom: .35rem;
  font-size: .48rem;
  font-weight: 600;
  letter-spacing: .32em;
}

.phone-preview {
  right: 3%;
  bottom: 2.4rem;
  width: 11.6rem;
  min-height: 22rem;
  border-color: #061521;
  background: linear-gradient(165deg, #0e2d42, #071826);
  box-shadow: var(--shadow-product);
  transform: rotate(2deg);
}

.event-scene,
.recycle-scene {
  min-height: 34rem;
  margin: 0;
  border-radius: 0;
  background: var(--color-ice);
  box-shadow: var(--shadow-soft);
}

.event-scene::before,
.recycle-scene::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(135deg, rgb(11 31 51 / 5%), transparent 45% 70%, rgb(79 143 139 / 13%));
  pointer-events: none;
  content: "";
}

.event-scene img,
.recycle-scene img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.event-scene img {
  object-position: 58% center;
}

.event-scene figcaption,
.recycle-scene figcaption {
  position: absolute;
  z-index: 2;
  right: 1rem;
  bottom: 1rem;
  max-width: calc(100% - 2rem);
  padding: .5rem .7rem;
  color: var(--color-white);
  background: rgb(11 31 51 / 76%);
  font-size: .7rem;
  line-height: 1.35;
  backdrop-filter: blur(8px);
}

#about {
  background:
    linear-gradient(90deg, transparent 0 49.9%, rgb(11 31 51 / 7%) 50% 50.08%, transparent 50.1%),
    var(--color-off-white);
}

.pillar-list li,
.cue-list li {
  background: transparent;
}

.journey-list {
  position: relative;
  gap: 0;
  background: transparent;
}

.journey-list::before {
  position: absolute;
  top: 2.9rem;
  right: 5%;
  left: 5%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-teal), transparent);
  content: "";
}

.journey-list li {
  position: relative;
  border-right: 1px solid var(--line-subtle);
  background: linear-gradient(180deg, var(--color-white), #fbfcfd);
  transition: transform 260ms ease, box-shadow 260ms ease, background 260ms ease;
}

.journey-list li:last-child {
  border-right: 0;
}

.journey-list li:hover {
  z-index: 2;
  background: var(--color-white);
  box-shadow: var(--shadow-soft);
  transform: translateY(-.65rem);
}

.journey-list li > span {
  display: grid;
  width: 3.1rem;
  height: 3.1rem;
  place-items: center;
  border: 1px solid rgb(79 143 139 / 35%);
  border-radius: 50%;
  background: var(--color-white);
}

#solutions {
  background: linear-gradient(145deg, #eef3f5, var(--color-off-white) 54%, #f9fafb);
}

.solution-tabs__list {
  gap: 0;
  border-bottom: 1px solid var(--line-subtle);
}

.solution-tabs__list button {
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
}

.solution-tabs__list button[aria-selected="true"] {
  border-bottom-color: var(--color-teal);
  color: var(--color-navy);
  background: var(--color-white);
}

.solution-panel {
  min-height: 30rem;
  box-shadow: var(--shadow-soft);
}

.solution-panel__visual {
  min-height: 24rem;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgb(11 31 51 / 5%), rgb(11 31 51 / 18%)),
    url("../images/event-atmosphere-demo.webp") 58% center / cover;
}

.solution-panel__visual::after {
  position: absolute;
  inset: auto 7% 7% auto;
  width: 36%;
  height: 58%;
  border: .45rem solid var(--color-navy);
  border-radius: 1.6rem;
  background: linear-gradient(165deg, #0e2d42, #071826);
  box-shadow: 0 1.4rem 2.5rem rgb(11 31 51 / 25%);
  content: "";
}

.solution-panel__visual span {
  z-index: 1;
  width: 10%;
  border: 1px solid rgb(255 255 255 / 55%);
  background: linear-gradient(90deg, rgb(220 238 248 / 72%), rgb(255 255 255 / 92%), rgb(79 143 139 / 32%));
  box-shadow: 0 1rem 2rem rgb(11 31 51 / 18%);
}

.solution-panel__visual span:nth-child(1) { left: 9%; height: 49%; }
.solution-panel__visual span:nth-child(2) { left: 23%; height: 61%; background: linear-gradient(90deg, #71818b, #eef2f4, #798891); }
.solution-panel__visual span:nth-child(3) { right: 50%; height: 38%; }

.flexible-grid {
  gap: 1.25rem;
  background: transparent;
}

.flexible-grid article {
  border-top: 3px solid var(--color-teal);
  box-shadow: 0 1rem 3rem rgb(11 31 51 / 6%);
}

#formats {
  background:
    linear-gradient(110deg, transparent 0 58%, rgb(220 238 248 / 36%) 58.2% 74%, transparent 74.2%),
    var(--color-white);
}

.formats-grid {
  padding: clamp(2rem, 5vw, 4.5rem) clamp(1rem, 4vw, 3rem);
  background:
    linear-gradient(180deg, rgb(255 255 255 / 30%), rgb(246 248 250 / 86%)),
    radial-gradient(ellipse at 50% 90%, rgb(11 31 51 / 13%), transparent 52%);
}

.formats-grid article {
  transition: transform 280ms ease;
}

.formats-grid article:hover {
  transform: translateY(-.55rem);
}

.format-visual {
  border-color: rgb(11 31 51 / 24%);
  box-shadow: 0 2.4rem 3.5rem rgb(11 31 51 / 17%);
}

.format-visual::after {
  position: absolute;
  top: 8%;
  bottom: 8%;
  left: 16%;
  width: 10%;
  border-radius: 99px;
  background: linear-gradient(180deg, rgb(255 255 255 / 18%), rgb(255 255 255 / 82%), rgb(255 255 255 / 8%));
  content: "";
}

.format-visual span {
  display: grid;
  gap: .25rem;
  padding: .65rem;
  font-size: .72rem;
}

.format-visual span small {
  color: var(--color-ice);
  font-size: .44rem;
  letter-spacing: .3em;
}

.format-product {
  position: relative;
  display: grid;
  height: clamp(18rem, 26vw, 23rem);
  margin: 0 auto 2.75rem;
  place-items: end center;
}

.format-product img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 2.2rem 1.35rem rgb(11 31 51 / 20%));
  transition: transform 320ms cubic-bezier(.22, 1, .36, 1), filter 320ms ease;
}

.formats-grid article:hover .format-product img {
  filter: drop-shadow(0 2.65rem 1.6rem rgb(11 31 51 / 24%));
  transform: translateY(-.5rem) scale(1.015);
}

.event-hub__media--demo {
  position: relative;
  box-shadow: 0 2rem 4rem rgb(3 14 23 / 34%);
}

.event-hub__media--demo img {
  aspect-ratio: 1672 / 941;
}

.event-hub__media--demo figcaption {
  position: absolute;
  right: .75rem;
  bottom: .75rem;
  max-width: calc(100% - 1.5rem);
  padding: .4rem .6rem;
  color: var(--color-white);
  background: rgb(11 31 51 / 76%);
  font-size: .66rem;
  line-height: 1.35;
  backdrop-filter: blur(8px);
}

.connectivity-callout {
  position: relative;
  border: 0;
  border-left: 3px solid var(--color-teal);
  box-shadow: 0 1.4rem 3rem rgb(11 31 51 / 7%);
}

.explore {
  isolation: isolate;
  min-height: 52rem;
  background:
    radial-gradient(circle at 73% 45%, rgb(43 102 113 / 72%), transparent 26%),
    radial-gradient(circle at 82% 20%, rgb(79 143 139 / 24%), transparent 32%),
    linear-gradient(145deg, #071723, var(--color-navy) 52%, #0b293b);
}

.explore__ambient {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.explore__ambient::before,
.explore__ambient::after {
  position: absolute;
  content: "";
}

.explore__ambient::before {
  top: -30%;
  right: 8%;
  width: 38rem;
  height: 68rem;
  border: 1px solid rgb(220 238 248 / 15%);
  border-radius: 50%;
  transform: rotate(28deg);
}

.explore__ambient::after {
  right: -6rem;
  bottom: -8rem;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgb(79 143 139 / 22%);
  border-radius: 50%;
  box-shadow: 0 0 0 6rem rgb(79 143 139 / 3%), 0 0 0 12rem rgb(79 143 139 / 2%);
}

.explore__copy {
  position: relative;
  z-index: 3;
}

.explore__copy > p:not(.eyebrow, .explore__asset-note) {
  color: rgb(255 255 255 / 82%);
}

.explore__steps {
  display: grid;
  gap: .55rem;
  margin: 2rem 0;
  color: var(--color-ice);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.explore__asset-note {
  max-width: 34rem;
  margin-top: 1.25rem;
  color: rgb(220 238 248 / 65%);
  font-size: .76rem;
}

.explore-viewer {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.explore-stage {
  position: relative;
  min-height: clamp(32rem, 58vw, 46rem);
  overflow: hidden;
  border: 1px solid rgb(220 238 248 / 16%);
  border-radius: 48% 48% 8% 8% / 22% 22% 6% 6%;
  background:
    radial-gradient(ellipse at 50% 82%, rgb(2 10 17 / 84%), transparent 34%),
    radial-gradient(circle at 50% 42%, rgb(89 160 163 / 28%), transparent 46%);
  box-shadow: inset 0 0 6rem rgb(220 238 248 / 5%), 0 3rem 7rem rgb(0 8 14 / 35%);
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

.explore-stage.is-dragging {
  cursor: grabbing;
}

.explore-stage:focus-visible {
  outline-color: var(--color-ice);
}

.explore-stage__poster,
.explore-stage canvas {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
}

.explore-stage__poster {
  object-fit: contain;
  transition: opacity 500ms ease, transform 700ms ease;
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none;
}

.explore-stage canvas {
  opacity: 0;
  transition: opacity 600ms ease;
	pointer-events: none;
	touch-action: pan-y;
	user-select: none;
}

.is-3d-loading .explore-stage__poster {
  transform: scale(.985);
}

.is-3d-ready .explore-stage__poster {
  opacity: 0;
}

.is-3d-ready .explore-stage canvas {
  opacity: 1;
	pointer-events: auto;
}

.explore-stage__glow {
  position: absolute;
  z-index: 0;
  right: 18%;
  bottom: 12%;
  left: 18%;
  height: 12%;
  border-radius: 50%;
  background: rgb(2 10 17 / 80%);
  filter: blur(24px);
}

.explore-stage__badge {
  position: absolute;
  z-index: 3;
  top: 1.35rem;
  right: 1.35rem;
  padding: .45rem .65rem;
  border: 1px solid rgb(220 238 248 / 24%);
  border-radius: 999px;
  color: var(--color-ice);
  background: rgb(7 23 35 / 64%);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.explore-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
  margin-top: 1rem;
}

.explore-controls button {
  min-height: 2.65rem;
  padding: .55rem .9rem;
  border: 1px solid rgb(220 238 248 / 28%);
  border-radius: 999px;
  color: var(--color-white);
  background: rgb(7 23 35 / 52%);
  font: 600 .78rem/1 var(--font-body);
  cursor: pointer;
}

.explore-controls button[aria-pressed="true"] {
  border-color: var(--color-ice);
  color: var(--color-navy);
  background: var(--color-ice);
}

.is-qr-view .explore-controls button[data-view="back"] {
  box-shadow: 0 0 0 4px rgb(79 143 139 / 18%);
}

.explore-stage__instruction,
.explore-status {
  margin: .7rem auto 0;
  color: rgb(220 238 248 / 72%);
  font-size: .75rem;
  text-align: center;
}

.explore-status {
  min-height: 2.5em;
  color: var(--color-white);
}

.explore-viewer > .button--ghost {
  margin: .75rem auto 0;
}

#partnership {
  background:
    linear-gradient(110deg, rgb(246 248 250 / 96%) 0 54%, rgb(246 248 250 / 72%) 72%, rgb(246 248 250 / 96%)),
    url("../images/event-atmosphere-demo.webp") center / cover;
}

.form-shell {
  border: 0;
  box-shadow: var(--shadow-soft);
}

.recycle-scene {
  min-height: 32rem;
}

.recycle-scene img {
  object-position: 58% center;
}

.contact {
  isolation: isolate;
  min-height: 36rem;
  display: grid;
  align-items: center;
  background:
    linear-gradient(90deg, rgb(5 21 33 / 97%) 0 38%, rgb(5 21 33 / 76%) 63%, rgb(5 21 33 / 52%)),
    url("../images/event-atmosphere-demo.webp") 64% center / cover;
}

.contact::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, transparent 70%, rgb(5 21 33 / 48%));
  content: "";
}

.contact-routes {
  gap: .75rem;
  background: transparent;
}

.contact-routes article {
  border: 1px solid rgb(220 238 248 / 22%);
  background: rgb(11 31 51 / 74%);
  backdrop-filter: blur(15px);
  transition: transform 240ms ease, border-color 240ms ease;
}

.contact-routes article:hover {
  border-color: rgb(220 238 248 / 56%);
  transform: translateY(-.35rem);
}

.motion-ready .corporate-site .section-heading,
.motion-ready .corporate-site .section-copy,
.motion-ready .corporate-site .event-scene,
.motion-ready .corporate-site .recycle-scene,
.motion-ready .corporate-site .formats-grid article {
  opacity: 1;
  transform: translateY(1.5rem);
  transition: opacity 700ms ease, transform 800ms cubic-bezier(.22, 1, .36, 1);
}

.motion-ready .corporate-site .is-revealed:is(.section-heading, .section-copy, .event-scene, .recycle-scene, .formats-grid article) {
  opacity: 1;
  transform: none;
}

@media (min-width: 64rem) {
  .hero__inner {
    grid-template-columns: minmax(0, .92fr) minmax(32rem, 1.08fr);
  }

  .explore .split {
    grid-template-columns: minmax(20rem, .72fr) minmax(32rem, 1.28fr);
  }

  .explore__copy {
    padding-right: 2rem;
  }
}

@media (max-width: 63.99rem) {
  .hero-product {
    max-width: 43rem;
    width: 100%;
    margin-inline: auto;
  }

  .journey-list::before {
    display: none;
  }

  .journey-list li {
    border-right: 0;
    border-bottom: 1px solid var(--line-subtle);
  }
}

@media (max-width: 40rem) {
  .corporate-site .section {
    padding-block: clamp(3.75rem, 16vw, 5.5rem);
  }

  .hero {
    padding-top: 2rem;
  }

  .hero h1 {
    font-size: clamp(3rem, 14vw, 4.4rem);
  }

  .hero-product {
    min-height: 30rem;
  }

  .hero-product--image {
    min-height: 0;
  }

  .hero-product--image img {
    min-height: 24rem;
    object-position: 48% center;
  }

  .product-bottle--hero {
    width: 8rem;
    height: 22rem;
    margin-right: 4.8rem;
  }

  .phone-preview {
    right: .25rem;
    width: 8.75rem;
    min-height: 18rem;
  }

  .event-scene,
  .recycle-scene {
    min-height: 26rem;
  }

  .solution-panel {
    padding: 1.25rem;
  }

  .solution-panel__visual {
    min-height: 18rem;
  }

  .explore-stage {
    min-height: 32rem;
    border-radius: 48% 48% 4% 4% / 16% 16% 3% 3%;
  }

  .explore-controls button {
    flex: 1 1 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .motion-ready .corporate-site .section-heading,
  .motion-ready .corporate-site .section-copy,
  .motion-ready .corporate-site .event-scene,
  .motion-ready .corporate-site .recycle-scene,
  .motion-ready .corporate-site .formats-grid article {
    opacity: 1;
    transform: none;
  }

  .journey-list li:hover,
  .formats-grid article:hover,
  .contact-routes article:hover,
  .button:hover {
    transform: none;
  }
}

/* Major editorial redesign: immersive, product-led and reference-aligned. */
:root {
  --content-width: 86rem;
  --section-space: clamp(6rem, 8.5vw, 9.5rem);
}

body {
  font-size: 1.0625rem;
}

.site-header {
  border-bottom-color: rgb(11 31 51 / 8%);
  background: rgb(255 255 255 / 91%);
  backdrop-filter: blur(18px);
}

.site-header__inner {
  min-height: 5rem;
}

.site-nav__link,
.site-nav .menu-item > a {
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .015em;
}

.corporate-site .section {
  padding-block: var(--section-space);
}

.corporate-site .section-heading h2,
.corporate-site .section-copy h2 {
  max-width: 17ch;
  font-size: clamp(2.25rem, 3.4vw, 2.75rem);
  letter-spacing: -.045em;
  line-height: 1.03;
}

.corporate-site .section-heading > p:last-child,
.corporate-site .section-copy > p {
  max-width: 39rem;
  font-size: 1.0625rem;
  line-height: 1.68;
}

.corporate-site .eyebrow {
  margin-bottom: 1.4rem;
  font-size: .72rem;
  letter-spacing: .2em;
}

.hero {
  min-height: min(52rem, calc(100svh - 5rem));
  padding-block: clamp(2.5rem, 5vw, 5rem);
  background:
    linear-gradient(110deg, #f7f9fa 0 44%, rgb(247 249 250 / 78%) 59%, transparent 76%),
    radial-gradient(circle at 72% 12%, rgb(220 238 248 / 78%), transparent 36%),
    var(--color-white);
}

.hero::before {
  inset: 0;
  background:
    linear-gradient(90deg, transparent 49.95%, rgb(11 31 51 / 7%) 50%, transparent 50.05%),
    linear-gradient(136deg, transparent 0 64%, rgb(79 143 139 / 7%) 64.1% 72%, transparent 72.1%);
  transform: none;
}

.hero::after {
  right: 10vw;
  bottom: 7%;
  width: 48vw;
  box-shadow: 0 1.8rem 4rem 1.2rem rgb(11 31 51 / 13%);
}

.hero__composition {
  position: relative;
  display: block;
  min-height: clamp(38rem, 49vw, 46rem);
}

.hero__content {
  position: relative;
  z-index: 3;
  width: min(48%, 40rem);
  padding-top: clamp(4.5rem, 8vw, 8rem);
}

.hero h1 {
  max-width: 12ch;
  margin-bottom: 1.5rem;
  font-size: clamp(3.15rem, 4.2vw, 3.75rem);
  letter-spacing: -.055em;
  line-height: .98;
}

.hero__copy {
  max-width: 35rem;
  margin-top: 0;
  color: #334550;
  font-size: 1.075rem;
  line-height: 1.7;
}

.hero .button-group {
  margin-top: 2rem;
}

.hero-product--image {
  position: absolute;
  z-index: 1;
  inset: 0 0 0 34%;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  clip-path: polygon(12% 0, 100% 0, 100% 91%, 78% 100%, 6% 96%, 0 30%);
}

.hero-product--image::before {
  background:
    linear-gradient(90deg, rgb(247 249 250 / 96%) 0, rgb(247 249 250 / 52%) 13%, transparent 35%),
    linear-gradient(150deg, transparent 58%, rgb(11 31 51 / 16%));
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 24%);
}

.hero-product--image img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: 52% center;
}

.hero-product--image figcaption {
  right: 1.25rem;
  bottom: 1.25rem;
}

.hero__edition {
  display: none;
}

#about {
  background:
    linear-gradient(90deg, var(--color-off-white) 0 72%, var(--color-white) 72% 100%);
}

.about-editorial {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
}

.about-editorial .section-copy {
  z-index: 3;
  grid-column: 1 / 7;
  grid-row: 1;
  max-width: 42rem;
  padding: clamp(2.5rem, 5vw, 5rem) clamp(2rem, 4vw, 4rem) clamp(2.5rem, 4vw, 4rem) 0;
  margin-top: 4.5rem;
  background: linear-gradient(90deg, var(--color-off-white) 0 88%, rgb(246 248 250 / 92%) 100%);
}

.about-editorial .section-copy::before {
  position: absolute;
  top: 0;
  width: 5rem;
  height: 3px;
  background: var(--color-teal);
  content: "";
}

.about-editorial .event-scene {
  z-index: 1;
  grid-column: 5 / 13;
  grid-row: 1;
  min-height: 44rem;
  clip-path: polygon(7% 0, 100% 0, 100% 100%, 0 91%);
  box-shadow: 0 3rem 7rem rgb(11 31 51 / 14%);
}

.about-editorial .event-scene img {
  object-position: 61% center;
}

.about-editorial__note {
  z-index: 4;
  grid-column: 1 / 5;
  grid-row: 1;
  align-self: end;
  max-width: 19rem;
  padding: 1.2rem 1.4rem;
  margin: 0 0 -1.75rem 2rem;
  color: var(--color-white);
  background: var(--color-navy);
  font-family: var(--font-heading);
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.5;
}

.pillar-list {
  gap: 0;
  margin-top: 2rem;
}

.pillar-list li {
  padding: .45rem 1rem;
  border-left: 1px solid var(--color-teal);
  font-size: .78rem;
}

.journey {
  isolation: isolate;
  color: rgb(255 255 255 / 78%);
  background:
    radial-gradient(circle at 80% 20%, rgb(79 143 139 / 23%), transparent 28%),
    linear-gradient(145deg, #061521, var(--color-navy) 58%, #0e3042);
}

.journey::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(118deg, transparent 48%, rgb(220 238 248 / 4%) 48.1% 62%, transparent 62.1%);
  content: "";
}

.journey .section-heading {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(18rem, .8fr) minmax(24rem, 1.2fr);
  column-gap: clamp(3rem, 8vw, 8rem);
  align-items: end;
  margin-bottom: clamp(4rem, 7vw, 7rem);
}

.journey .section-heading .eyebrow,
.journey .section-heading h2 {
  grid-column: 1;
  color: var(--color-white);
}

.journey .section-heading > p:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  color: rgb(255 255 255 / 72%);
}

.journey-list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.4rem 3.5rem;
  padding: 0;
  margin: 0;
  background: transparent;
}

.journey-list::before {
  top: 0;
  right: auto;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: auto;
  background: linear-gradient(180deg, transparent, var(--color-teal) 8% 92%, transparent);
}

.journey-list li {
  position: relative;
  display: grid;
  min-height: 10.5rem;
  grid-column: 1 / 7;
  grid-template-columns: 5.5rem 1fr;
  gap: 1.5rem;
  align-items: center;
  padding: 1.5rem 2rem;
  border: 1px solid rgb(220 238 248 / 12%);
  border-right: 0;
  background: rgb(255 255 255 / 6%);
  box-shadow: none;
  backdrop-filter: blur(10px);
}

.journey-list li:nth-child(even) {
  grid-column: 7 / 13;
  border-right: 1px solid rgb(220 238 248 / 12%);
}

.journey-list li:nth-child(3) {
  border-color: rgb(79 143 139 / 52%);
  background: rgb(79 143 139 / 15%);
}

.journey-list li::after {
  position: absolute;
  top: 50%;
  right: -3.5rem;
  width: 3.5rem;
  height: 1px;
  background: rgb(79 143 139 / 72%);
  content: "";
}

.journey-list li:nth-child(even)::after {
  right: auto;
  left: -3.5rem;
}

.journey-list li:hover {
  background: rgb(255 255 255 / 10%);
  box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 18%);
  transform: translateX(.35rem);
}

.journey-list li:nth-child(even):hover {
  transform: translateX(-.35rem);
}

.journey-list h3 {
  margin: 0 0 .55rem;
  color: var(--color-white);
  font-size: 1.25rem;
}

.journey-list p {
  margin: 0;
  color: rgb(255 255 255 / 67%);
  font-size: .91rem;
  line-height: 1.55;
}

.journey-number {
  display: block;
  margin-bottom: .55rem;
  color: var(--color-ice);
  font-family: var(--font-heading);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
}

.journey-cue {
  position: relative;
  display: grid;
  width: 5.2rem;
  height: 5.2rem;
  place-items: center;
  border: 1px solid rgb(220 238 248 / 22%);
  border-radius: 50%;
  background: rgb(3 14 23 / 40%);
}

.journey-cue--plan span {
  width: 2rem;
  height: 2rem;
  border-top: 2px solid var(--color-ice);
  border-right: 2px solid var(--color-teal);
}

.journey-cue--plan span::before,
.journey-cue--plan span::after {
  position: absolute;
  background: var(--color-ice);
  content: "";
}

.journey-cue--plan span::before { width: 2px; height: 2.6rem; transform: translate(.9rem, -.35rem); }
.journey-cue--plan span::after { width: 2.6rem; height: 2px; transform: translate(-.35rem, .9rem); }

.journey-cue--brand span {
  width: 1.5rem;
  height: 3rem;
  border: 2px solid var(--color-ice);
  border-radius: .55rem .55rem .4rem .4rem;
  box-shadow: inset 0 -1.1rem 0 var(--color-teal-dark);
}

.journey-cue--scan {
  grid-template-columns: repeat(2, .8rem);
  grid-template-rows: repeat(2, .8rem);
  gap: .38rem;
}

.journey-cue--scan span {
  width: .8rem;
  height: .8rem;
  border: 2px solid var(--color-ice);
}

.journey-cue--scan span:last-child { background: var(--color-teal); }

.journey-cue--extend span {
  width: 2.2rem;
  height: 3.2rem;
  border: 2px solid var(--color-ice);
  border-radius: .5rem;
  box-shadow: inset 0 .55rem 0 rgb(79 143 139 / 55%);
}

.journey-cue--measure {
  grid-template-columns: repeat(3, .48rem);
  align-items: end;
  justify-content: center;
  gap: .36rem;
  padding-bottom: 1.45rem;
}

.journey-cue--measure span { width: .48rem; background: var(--color-ice); }
.journey-cue--measure span:nth-child(1) { height: 1rem; }
.journey-cue--measure span:nth-child(2) { height: 1.75rem; background: var(--color-teal); }
.journey-cue--measure span:nth-child(3) { height: 2.45rem; }

#solutions {
  background:
    linear-gradient(100deg, var(--color-off-white) 0 68%, var(--color-white) 68%),
    var(--color-off-white);
}

#solutions .section-heading {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(18rem, .85fr) minmax(24rem, 1.15fr);
  column-gap: clamp(3rem, 8vw, 8rem);
  align-items: end;
}

#solutions .section-heading .eyebrow,
#solutions .section-heading h2 { grid-column: 1; }
#solutions .section-heading > p:last-child { grid-column: 2; grid-row: 1 / span 2; }

.solution-tabs {
  position: relative;
}

.solution-tabs__list {
  position: relative;
  z-index: 2;
  gap: 0;
  padding: 0;
  border: 0;
  background: var(--color-white);
  box-shadow: 0 1rem 3rem rgb(11 31 51 / 7%);
}

.solution-tabs__list button {
  flex: 1 1 0;
  min-height: 4.6rem;
  padding: .85rem .9rem;
  border-right: 1px solid var(--line-subtle);
  border-bottom: 3px solid transparent;
  font-size: .75rem;
  line-height: 1.3;
}

.solution-tabs__list button:last-child { border-right: 0; }

.solution-tabs__list button[aria-selected="true"] {
  border-bottom-color: var(--color-teal);
  color: var(--color-white);
  background: var(--color-navy);
}

.solution-panel {
  --solution-accent: 79 143 139;
  display: grid;
  min-height: 35rem;
  grid-template-columns: minmax(19rem, .72fr) minmax(0, 1.28fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-navy);
  box-shadow: 0 2.5rem 6rem rgb(11 31 51 / 14%);
  animation: solution-panel-in 420ms cubic-bezier(.22, 1, .36, 1);
}

.solution-panel--education { --solution-accent: 131 164 180; }
.solution-panel--sport { --solution-accent: 117 171 174; }
.solution-panel--culture { --solution-accent: 67 123 137; }
.solution-panel--community { --solution-accent: 112 151 137; }

@keyframes solution-panel-in {
  from { opacity: .45; transform: translateY(.75rem); }
  to { opacity: 1; transform: none; }
}

.solution-panel__copy {
  position: relative;
  z-index: 2;
  align-self: stretch;
  padding: clamp(3rem, 6vw, 6rem) clamp(2rem, 4vw, 4.5rem);
  color: rgb(255 255 255 / 75%);
  background:
    radial-gradient(circle at 18% 15%, rgb(var(--solution-accent) / 20%), transparent 35%),
    linear-gradient(155deg, rgb(255 255 255 / 5%), transparent 45%),
    var(--color-navy);
}

.solution-panel__copy::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: rgb(var(--solution-accent));
  content: "";
}

.solution-panel__copy .eyebrow,
.solution-panel__copy h3 { color: var(--color-white); }

.solution-panel__copy h3 {
  max-width: 12ch;
  font-size: clamp(2rem, 3.2vw, 3.15rem);
  letter-spacing: -.04em;
}

.solution-panel__copy > p:not(.eyebrow) {
  max-width: 28rem;
}

.solution-panel__cue {
  position: absolute;
  right: 3rem;
  bottom: 2.5rem;
  left: clamp(2rem, 4vw, 4.5rem);
  padding-top: 1rem;
  border-top: 1px solid rgb(var(--solution-accent) / 62%);
  color: var(--color-ice);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.solution-panel__visual {
  position: relative;
  min-height: 35rem;
  margin: 0;
  overflow: hidden;
  background: #102b3d;
}

.solution-panel__visual::after {
  inset: 0;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: linear-gradient(90deg, rgb(11 31 51 / 30%), transparent 30% 75%, rgb(11 31 51 / 12%));
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 8%);
}

.solution-panel__visual img {
  width: 100%;
  height: 100%;
  min-height: 35rem;
  object-fit: cover;
  transition: transform 900ms cubic-bezier(.22, 1, .36, 1);
}

.solution-panel:hover .solution-panel__visual img {
  transform: scale(1.025);
}

.solution-panel__visual figcaption {
  position: absolute;
  z-index: 2;
  right: 1rem;
  bottom: 1rem;
  padding: .4rem .6rem;
  color: var(--color-white);
  background: rgb(11 31 51 / 70%);
  font-size: .64rem;
  backdrop-filter: blur(8px);
}

.flexible-grid {
  gap: clamp(3rem, 8vw, 8rem);
  margin-top: clamp(4rem, 7vw, 7rem);
}

.flexible-grid article {
  padding: 2.2rem 0 0;
  border-top: 2px solid var(--color-teal);
  box-shadow: none;
}

#formats {
  background:
    linear-gradient(125deg, transparent 0 58%, rgb(220 238 248 / 30%) 58.1% 74%, transparent 74.1%),
    linear-gradient(180deg, var(--color-white), #f9fbfc);
}

#formats .section-heading {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(18rem, .9fr) minmax(24rem, 1.1fr);
  column-gap: clamp(3rem, 8vw, 8rem);
  align-items: end;
}

#formats .section-heading .eyebrow,
#formats .section-heading h2 { grid-column: 1; }
#formats .section-heading > p:last-child { grid-column: 2; grid-row: 1 / span 2; }

.formats-grid {
  position: relative;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: end;
  padding: clamp(2rem, 4vw, 4rem) clamp(1rem, 3vw, 2.5rem) 2rem;
  background: transparent;
}

.formats-grid::before {
  position: absolute;
  right: 0;
  bottom: 8rem;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(11 31 51 / 20%) 15% 85%, transparent);
  box-shadow: 0 2rem 3rem .65rem rgb(11 31 51 / 9%);
  content: "";
}

.formats-grid article {
  position: relative;
  min-width: 0;
}

.formats-grid article:nth-child(2) .format-product { height: clamp(23rem, 31vw, 31rem); }
.formats-grid article:nth-child(3) .format-product { height: clamp(19rem, 25vw, 24rem); }

.format-index {
  position: absolute;
  z-index: 2;
  top: 4rem;
  left: 0;
  color: var(--color-teal-dark);
  font-family: var(--font-heading);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .16em;
}

.format-product {
  height: clamp(21rem, 28vw, 28rem);
  margin-bottom: 2rem;
}

.format-product img {
  filter: drop-shadow(0 2.4rem 1.45rem rgb(11 31 51 / 21%));
}

.format-meta {
  position: relative;
  z-index: 2;
  max-width: 20rem;
  padding-top: 1.4rem;
  margin-inline: auto;
  border-top: 1px solid rgb(11 31 51 / 22%);
}

.format-meta h3 {
  font-size: 1.15rem;
}

.format-meta p {
  color: #5d6b74;
  font-size: .86rem;
}

.connectivity-callout {
  max-width: 60rem;
  margin-top: 5rem;
  padding: 1.75rem 2.25rem;
  border-left: 0;
  color: rgb(255 255 255 / 74%);
  background: var(--color-navy);
  box-shadow: 0 2rem 4rem rgb(11 31 51 / 14%);
}

.connectivity-callout h3 { color: var(--color-white); }
.connectivity-callout > span { color: var(--color-ice); }

.explore {
  min-height: 60rem;
  padding-block: clamp(7rem, 10vw, 11rem);
  background:
    radial-gradient(ellipse at 76% 46%, rgb(53 122 128 / 55%), transparent 29%),
    radial-gradient(circle at 82% 18%, rgb(79 143 139 / 21%), transparent 31%),
    linear-gradient(145deg, #04121d, var(--color-navy) 52%, #0b2d3f);
}

.explore .split {
  position: relative;
  align-items: center;
}

.explore__copy {
  padding-block: 4rem;
}

.explore__copy h2 {
  max-width: 12ch;
  color: var(--color-white);
  font-size: clamp(2.6rem, 4.6vw, 4.5rem);
  line-height: .98;
}

.explore-viewer {
  margin: -3rem -3rem -3rem 0;
}

.explore-stage {
  min-height: clamp(39rem, 56vw, 52rem);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(ellipse at 50% 83%, rgb(1 7 11 / 92%), transparent 29%),
    radial-gradient(circle at 50% 44%, rgb(120 199 199 / 23%), transparent 39%);
  box-shadow: none;
}

.explore-stage::before {
  position: absolute;
  z-index: 0;
  top: -8%;
  left: 50%;
  width: 54%;
  height: 78%;
  background: linear-gradient(180deg, rgb(220 238 248 / 11%), transparent 82%);
  clip-path: polygon(32% 0, 68% 0, 100% 100%, 0 100%);
  transform: translateX(-50%);
  filter: blur(7px);
  content: "";
}

.explore-stage__poster {
  padding: 2rem;
  object-fit: contain;
}

.explore-controls {
  position: relative;
  z-index: 4;
  width: max-content;
  max-width: calc(100% - 2rem);
  padding: .45rem;
  margin: -1.25rem auto 0;
  border: 1px solid rgb(220 238 248 / 17%);
  border-radius: 999px;
  background: rgb(3 14 23 / 72%);
  box-shadow: 0 1rem 3rem rgb(0 0 0 / 24%);
  backdrop-filter: blur(14px);
}

.explore-stage__badge {
  top: 3rem;
  right: 3rem;
}

.explore-stage__instruction,
.explore-status {
  max-width: 36rem;
}

#partnership {
  padding-block: clamp(7rem, 9vw, 10rem);
  background:
    linear-gradient(90deg, rgb(246 248 250 / 98%) 0 44%, rgb(246 248 250 / 70%) 67%, rgb(246 248 250 / 90%)),
    url("../images/solution-corporate-demo.webp") 64% center / cover;
}

#partnership .split {
  grid-template-columns: minmax(22rem, .86fr) minmax(28rem, 1.14fr);
}

#partnership .section-copy {
  padding: 3rem 3rem 3rem 0;
}

.form-shell {
  min-height: 24rem;
  padding: clamp(2rem, 4vw, 4rem);
  background: rgb(255 255 255 / 92%);
  box-shadow: 0 3rem 7rem rgb(11 31 51 / 16%);
  backdrop-filter: blur(18px);
}

#sustainability .split {
  grid-template-columns: minmax(21rem, .78fr) minmax(31rem, 1.22fr);
}

.recycle-scene {
  min-height: 38rem;
  clip-path: polygon(0 7%, 92% 0, 100% 100%, 7% 94%);
}

.contact {
  min-height: 42rem;
  background:
    linear-gradient(90deg, rgb(4 17 28 / 98%) 0 42%, rgb(4 17 28 / 78%) 65%, rgb(4 17 28 / 55%)),
    url("../images/solution-culture-demo.webp") 60% center / cover;
}

.contact__inner {
  grid-template-columns: minmax(18rem, .68fr) minmax(30rem, 1.32fr);
  align-items: end;
}

.contact-routes article {
  min-height: 14rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem;
  background: rgb(6 24 37 / 82%);
}

.site-footer {
  padding-top: 1.5rem;
  background: #061521;
}

.motion-ready .corporate-site .journey-list li,
.motion-ready .corporate-site .solution-tabs,
.motion-ready .corporate-site .connectivity-callout {
  opacity: 1;
  transform: translateY(1.5rem);
  transition: opacity 700ms ease, transform 800ms cubic-bezier(.22, 1, .36, 1);
}

.motion-ready .corporate-site .journey-list li:nth-child(2) { transition-delay: 70ms; }
.motion-ready .corporate-site .journey-list li:nth-child(3) { transition-delay: 140ms; }
.motion-ready .corporate-site .journey-list li:nth-child(4) { transition-delay: 210ms; }
.motion-ready .corporate-site .journey-list li:nth-child(5) { transition-delay: 280ms; }

.motion-ready .corporate-site .is-revealed:is(.journey-list li, .solution-tabs, .connectivity-callout) {
  opacity: 1;
  transform: none;
}

@media (min-width: 90rem) {
  .hero__composition { min-height: 45rem; }
  .hero-product--image { left: 32%; }
  .hero__content { padding-top: 7rem; }
}

@media (max-width: 63.99rem) {
  .hero {
    min-height: auto;
    padding-top: 3rem;
  }

  .hero__composition {
    display: grid;
    min-height: 0;
    gap: 3rem;
  }

  .hero__content {
    width: min(100%, 38rem);
    padding-top: 1rem;
  }

  .hero-product--image {
    position: relative;
    inset: auto;
    min-height: 32rem;
    clip-path: polygon(0 7%, 100% 0, 100% 94%, 8% 100%);
  }

  .hero-product--image::before {
    background: linear-gradient(150deg, transparent 58%, rgb(11 31 51 / 18%));
  }

  .hero__edition { display: none; }

  .about-editorial .section-copy {
    grid-column: 1 / 8;
    margin-top: 2rem;
  }

  .about-editorial .event-scene {
    grid-column: 4 / 13;
  }

  .about-editorial__note { display: none; }

  .journey-list li,
  .journey-list li:nth-child(even) {
    grid-column: 1 / 13;
    border: 1px solid rgb(220 238 248 / 12%);
  }

  .journey-list::before,
  .journey-list li::after { display: none; }

  .solution-panel {
    grid-template-columns: 1fr;
  }

  .solution-panel__copy {
    min-height: 22rem;
  }

  .solution-panel__visual,
  .solution-panel__visual img {
    min-height: 28rem;
  }

  .explore-viewer { margin: 0; }

  #partnership .split,
  #sustainability .split,
  .contact__inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 40rem) {
  :root { --section-space: clamp(4.75rem, 18vw, 6.5rem); }

  .corporate-site .section-heading h2,
  .corporate-site .section-copy h2 {
    font-size: clamp(2.05rem, 10vw, 2.65rem);
  }

  .hero h1 {
    font-size: clamp(2.7rem, 12.2vw, 3.35rem);
  }

  .hero-product--image {
    min-height: 22rem;
  }

  .hero-product--image img {
    min-height: 22rem;
    object-position: 48% center;
  }

  .hero-product--image figcaption {
    right: .65rem;
    bottom: .65rem;
    font-size: .58rem;
  }

  #about {
    background: var(--color-off-white);
  }

  .about-editorial {
    display: flex;
    flex-direction: column;
  }

  .about-editorial .section-copy {
    order: 1;
    padding: 2.5rem 0 2rem;
    margin: 0;
  }

  .about-editorial .event-scene {
    order: 2;
    min-height: 28rem;
    clip-path: polygon(0 5%, 100% 0, 100% 100%, 0 94%);
  }

  .journey .section-heading,
  #solutions .section-heading,
  #formats .section-heading {
    display: block;
  }

  .journey-list {
    gap: .85rem;
  }

  .journey-list li,
  .journey-list li:nth-child(even) {
    grid-template-columns: 4.25rem 1fr;
    gap: 1rem;
    padding: 1.25rem;
  }

  .journey-cue {
    width: 4rem;
    height: 4rem;
  }

  .solution-tabs__list {
    margin-inline: -1rem;
    padding-inline: 1rem;
    overflow-x: auto;
    box-shadow: none;
  }

  .solution-tabs__list button {
    flex: 0 0 10.5rem;
    min-height: 4rem;
    background: var(--color-white);
  }

  .solution-panel {
    margin-inline: -1rem;
  }

  .solution-panel__copy {
    min-height: 25rem;
    padding: 2.5rem 1.5rem 5rem;
  }

  .solution-panel__cue {
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
  }

  .solution-panel__visual,
  .solution-panel__visual img {
    min-height: 23rem;
  }

  .flexible-grid {
    gap: 2.5rem;
  }

  .formats-grid {
    gap: 4rem;
    padding-inline: 0;
  }

  .formats-grid::before { display: none; }

  .formats-grid article:nth-child(2) .format-product,
  .formats-grid article:nth-child(3) .format-product,
  .format-product {
    height: 25rem;
  }

  .format-index {
    left: 1rem;
  }

  .connectivity-callout {
    align-items: flex-start;
    padding: 1.5rem;
    margin-top: 3rem;
  }

  .explore {
    min-height: 0;
  }

  .explore__copy h2 {
    font-size: clamp(2.55rem, 12vw, 3.35rem);
  }

  .explore-stage {
    min-height: 35rem;
  }

  .explore-stage__poster {
    padding: 0;
  }

  .explore-stage__badge {
    top: 1rem;
    right: 1rem;
  }

  .explore-controls {
    width: 100%;
    max-width: 100%;
    border-radius: 1.25rem;
  }

  #partnership .section-copy {
    padding-right: 0;
  }

  .form-shell {
    min-height: 20rem;
  }

  .recycle-scene {
    min-height: 29rem;
    clip-path: polygon(0 4%, 96% 0, 100% 100%, 4% 96%);
  }

  .contact {
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .solution-panel {
    animation: none;
  }

  .solution-panel__visual img,
  .formats-grid article:hover .format-product img,
  .journey-list li:hover,
  .journey-list li:nth-child(even):hover {
    transform: none;
  }

  .motion-ready .corporate-site .journey-list li,
  .motion-ready .corporate-site .solution-tabs,
  .motion-ready .corporate-site .connectivity-callout {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Production density pass ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â final cascade layer after all visual-system rules. */
:root { --content-width: 82rem; --section-space: clamp(4.5rem, 5.5vw, 6rem); }
html { scroll-padding-top: 5.5rem; }
.corporate-site section[id] { scroll-margin-top: 5.5rem; }
.site-header__inner { min-height: 4.5rem; }
.corporate-site .section { padding-block: var(--section-space); }
.hero { min-height: 0; padding-block: clamp(1.75rem, 3.5vw, 3.5rem); }
.hero__composition { min-height: clamp(34rem, 42vw, 39rem); }
.hero__content { padding-top: clamp(2.5rem, 5vw, 4.5rem); }
.hero h1 { font-size: clamp(3.1rem, 4.2vw, 3.75rem); }
.hero .button-group { margin-top: 1.6rem; }
.about-editorial .section-copy { padding-block: clamp(2rem, 3vw, 3rem); margin-top: 2rem; }
.about-editorial .event-scene { min-height: clamp(30rem, 38vw, 34rem); aspect-ratio: 4 / 3; }
.about-editorial__note { margin-bottom: 0; }
.journey .section-heading { margin-bottom: clamp(2.5rem, 4vw, 3.75rem); }
.journey-list { gap: 1rem 2.5rem; }
.journey-list li { min-height: 7.75rem; grid-template-columns: 4.25rem 1fr; gap: 1.15rem; padding: 1rem 1.35rem; }
.journey-list li::after { right: -2.5rem; width: 2.5rem; }
.journey-list li:nth-child(even)::after { left: -2.5rem; }
.journey-cue { width: 4rem; height: 4rem; }
.journey-list h3 { margin-bottom: .35rem; font-size: 1.15rem; }
.solution-tabs { margin-top: 2.75rem; }
.solution-tabs__list button { min-height: 3.75rem; }
.solution-panel { min-height: 26rem; grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr); }
.solution-panel__copy { padding: 3rem clamp(2rem, 3.5vw, 3.5rem); }
.solution-panel__copy h3 { font-size: clamp(2rem, 2.7vw, 2.65rem); }
.solution-panel__cue { right: 2.25rem; bottom: 1.5rem; left: clamp(2rem, 3.5vw, 3.5rem); }
.solution-panel__visual, .solution-panel__visual img { min-height: 26rem; }
.flexible-grid { gap: clamp(2.5rem, 5vw, 5rem); margin-top: clamp(2.75rem, 4vw, 4rem); }
.flexible-grid article { padding-top: 1.5rem; }
.formats-grid { gap: clamp(1.5rem, 3.5vw, 3.5rem); padding-top: clamp(1.5rem, 3vw, 2.5rem); }
.format-product, .formats-grid article:nth-child(2) .format-product, .formats-grid article:nth-child(3) .format-product { height: clamp(17rem, 22vw, 21rem); margin-bottom: 1.25rem; }
.formats-grid article:nth-child(2) .format-product { height: clamp(19rem, 24vw, 23rem); }
.formats-grid article:nth-child(3) .format-product { height: clamp(16rem, 20vw, 19rem); }
.format-index { top: 2rem; }
.connectivity-callout { margin-top: 3.25rem; }
.explore { min-height: 0; padding-block: clamp(5rem, 6vw, 6rem); }
.explore__copy { padding-block: 1.5rem; }
.explore__copy h2 { font-size: clamp(2.6rem, 4vw, 3.75rem); }
.explore-viewer { margin: -1rem -1.5rem -1rem 0; }
.explore-stage { min-height: clamp(30rem, 39vw, 36rem); }
.explore-stage__badge { top: 1.5rem; right: 1.5rem; }
#partnership { padding-block: clamp(4.5rem, 5.5vw, 6rem); }
#partnership .section-copy { padding-block: 1.5rem; }
.form-shell { min-height: 16rem; padding: clamp(1.75rem, 3vw, 3rem); }
.recycle-scene { min-height: clamp(24rem, 32vw, 28rem); aspect-ratio: 4 / 3; }
.contact { min-height: 0; padding-block: clamp(4.75rem, 6vw, 6rem); }
.contact-routes article { min-height: 11rem; padding: 1.6rem; }
.explore-stage__instruction { position: static; }
.explore-stage__instruction, .explore-status { max-width: 100%; padding-inline: .5rem; line-height: 1.35; }

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .hero-product--image { min-height: 26rem; }
  .about-editorial .event-scene { min-height: 29rem; }
  .journey-list li, .journey-list li:nth-child(even) { min-height: 7.5rem; grid-column: 1 / 7; }
  .journey-list li:nth-child(even) { grid-column: 7 / 13; }
  .journey-list li:nth-child(5) { grid-column: 4 / 10; }
  .solution-panel { grid-template-columns: minmax(17rem, .82fr) minmax(0, 1.18fr); }
  .solution-panel__copy { min-height: 24rem; padding: 2.25rem 1.75rem 4.5rem; }
  .solution-panel__visual, .solution-panel__visual img { min-height: 24rem; }
  .formats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .format-product, .formats-grid article:nth-child(2) .format-product, .formats-grid article:nth-child(3) .format-product { height: 17rem; }
  .explore .split { grid-template-columns: minmax(15rem, .75fr) minmax(0, 1.25fr); gap: 2rem; }
  .explore-stage { min-height: 31rem; }
  #partnership .split { grid-template-columns: minmax(16rem, .9fr) minmax(0, 1.1fr); gap: 2rem; }
  #sustainability .split { grid-template-columns: minmax(16rem, .85fr) minmax(0, 1.15fr); gap: 2rem; }
  .contact__inner { grid-template-columns: minmax(14rem, .68fr) minmax(0, 1.32fr); gap: 2rem; }
  .contact-routes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 40rem) {
  :root { --section-space: clamp(3.5rem, 14vw, 4.5rem); }
  .corporate-site .section-heading h2, .corporate-site .section-copy h2 { font-size: clamp(2rem, 9vw, 2.25rem); }
  .corporate-site .eyebrow { margin-bottom: 1rem; }
  .hero { padding-top: 1.75rem; padding-bottom: 2.5rem; }
  .hero__composition { gap: 1.5rem; }
  .hero__content { padding-top: .5rem; }
  .hero h1 { margin-bottom: 1.1rem; font-size: clamp(2.65rem, 11.5vw, 3rem); }
  .hero__copy { font-size: 1rem; line-height: 1.58; }
  .hero .button-group { margin-top: 1.4rem; }
  .hero-product--image, .hero-product--image img { min-height: 18rem; }
  .about-editorial .section-copy { padding-block: 1.5rem; }
  .about-editorial .event-scene { min-height: 20rem; aspect-ratio: 4 / 3; }
  .journey .section-heading { margin-bottom: 2rem; }
  .journey-list li, .journey-list li:nth-child(even) { min-height: 0; grid-template-columns: 3.5rem 1fr; gap: .85rem; padding: .9rem 1rem; }
  .journey-cue { width: 3.35rem; height: 3.35rem; transform: scale(.9); }
  .journey-list h3 { font-size: 1rem; }
  .journey-list p { font-size: .84rem; }
  .solution-tabs { margin-top: 2rem; }
  .solution-tabs__list button { min-height: 3.35rem; }
  .solution-panel { grid-template-columns: 1fr; }
  .solution-panel__copy { min-height: 0; padding: 1.75rem 1.25rem 4.5rem; }
  .solution-panel__copy h3 { font-size: 2rem; }
  .solution-panel__visual, .solution-panel__visual img { min-height: 16rem; }
  .flexible-grid { gap: 1.75rem; margin-top: 2rem; }
  .formats-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1rem; padding-top: 1.5rem; }
  .formats-grid article:nth-child(3) { width: 50%; grid-column: 1 / -1; justify-self: center; }
  .format-product, .formats-grid article:nth-child(2) .format-product, .formats-grid article:nth-child(3) .format-product { height: 14rem; margin-bottom: .75rem; }
  .format-index { top: .5rem; left: .25rem; }
  .format-meta { padding-top: .9rem; }
  .format-meta h3 { font-size: .98rem; }
  .format-meta p { font-size: .75rem; }
  .connectivity-callout { margin-top: 2rem; }
  .explore { padding-block: 4.25rem; }
  .explore__copy { padding: 0; }
  .explore__copy h2 { font-size: clamp(2.35rem, 10.5vw, 2.65rem); }
  .explore-viewer { margin: 1rem 0 0; }
  .explore-stage { min-height: 26rem; }
  #partnership { padding-block: 4.25rem; }
  #partnership .section-copy { padding-block: 0; }
  .form-shell { min-height: 14rem; padding: 1.5rem; }
  .recycle-scene { min-height: 20rem; }
  .contact { padding-block: 4.25rem; }
  .contact-routes article { min-height: 10rem; }
}

/* Final design-director polish: editorial rhythm, product theatre and production density. */
:root {
  --content-width: 80rem;
  --section-space: clamp(3.9rem, 5vw, 5.25rem);
  --premium-shadow: 0 1.8rem 4rem rgb(11 31 51 / 13%);
}

.corporate-site .button {
  min-height: 3.15rem;
  padding-inline: 1.35rem;
  transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.corporate-site .button:hover { transform: translateY(-2px); }

.hero .button--secondary {
  border-color: rgb(11 31 51 / 28%);
  color: var(--color-navy);
  background: rgb(255 255 255 / 55%);
  box-shadow: none;
  backdrop-filter: blur(10px);
}

.hero .button--secondary:hover {
  border-color: var(--color-teal-dark);
  color: var(--color-white);
  background: var(--color-teal-dark);
}

.hero__composition { min-height: clamp(32rem, 39vw, 36rem); }
.hero__content { width: min(46%, 37rem); padding-top: clamp(2.25rem, 4vw, 3.75rem); }
.hero-product--image { inset: 0 0 0 36%; }
.hero::after { box-shadow: var(--premium-shadow); }

#about {
  background:
    linear-gradient(90deg, var(--color-white) 0 30%, var(--color-off-white) 30% 100%);
}

.about-editorial .event-scene {
  grid-column: 1 / 9;
  min-height: clamp(28rem, 36vw, 32rem);
  clip-path: polygon(0 0, 93% 0, 100% 92%, 8% 100%, 0 84%);
  box-shadow: var(--premium-shadow);
}

.about-editorial .section-copy {
  grid-column: 7 / 13;
  padding: clamp(2rem, 3vw, 3rem);
  margin-top: 2.6rem;
  background: rgb(246 248 250 / 96%);
  box-shadow: 0 1.5rem 4rem rgb(11 31 51 / 9%);
  backdrop-filter: blur(12px);
}

.about-editorial__note {
  grid-column: 1 / 6;
  max-width: 24rem;
  padding: .85rem 0 .85rem 1.15rem;
  margin: 0 0 -1.1rem 2rem;
  border-left: 2px solid var(--color-teal);
  color: var(--color-navy);
  background: rgb(255 255 255 / 88%);
  box-shadow: none;
}

.journey .section-heading { margin-bottom: clamp(2.25rem, 3.5vw, 3.25rem); }

.journey-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 2rem);
}

.journey-list::before {
  top: 2rem;
  right: 2rem;
  bottom: auto;
  left: 2rem;
  width: auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-teal) 7% 93%, transparent);
}

.journey-list li,
.journey-list li:nth-child(even),
.journey-list li:nth-child(5) {
  display: block;
  min-height: 13rem;
  grid-column: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.journey-list li::after,
.journey-list li:nth-child(even)::after { display: none; }

.journey-list li:hover,
.journey-list li:nth-child(even):hover {
  background: transparent;
  box-shadow: none;
  transform: translateY(-.3rem);
}

.journey-cue {
  z-index: 2;
  width: 4rem;
  height: 4rem;
  margin-bottom: 1.35rem;
  background: #071a29;
}

.journey-number { margin-bottom: .45rem; }
.journey-list h3 { max-width: 11rem; margin-bottom: .55rem; }
.journey-list p { max-width: 13.5rem; }

.solution-tabs { margin-top: 2.35rem; }
.solution-tabs__list {
  border-top: 1px solid rgb(11 31 51 / 15%);
  border-bottom: 1px solid rgb(11 31 51 / 15%);
  background: transparent;
  box-shadow: none;
}

.solution-tabs__list button {
  position: relative;
  min-height: 4.4rem;
  padding: 1.35rem .75rem .7rem;
  border-right: 0;
  border-bottom: 0;
  color: #52616b;
  background: transparent;
  transition: color 220ms ease, background-color 220ms ease;
}

.solution-tabs__list button::before {
  position: absolute;
  top: .55rem;
  left: 50%;
  color: var(--color-teal-dark);
  font-family: var(--font-heading);
  font-size: .56rem;
  letter-spacing: .16em;
  transform: translateX(-50%);
}

.solution-tabs__list button:nth-child(1)::before { content: "01"; }
.solution-tabs__list button:nth-child(2)::before { content: "02"; }
.solution-tabs__list button:nth-child(3)::before { content: "03"; }
.solution-tabs__list button:nth-child(4)::before { content: "04"; }
.solution-tabs__list button:nth-child(5)::before { content: "05"; }

.solution-tabs__list button[aria-selected="true"] {
  color: var(--color-navy);
  background: rgb(220 238 248 / 42%);
  box-shadow: inset 0 -3px var(--color-teal);
}

.solution-panel { min-height: 24rem; grid-template-columns: minmax(17rem, .62fr) minmax(0, 1.38fr); }
.solution-panel__copy { padding: 2.65rem clamp(2rem, 3vw, 3rem); }
.solution-panel__visual,
.solution-panel__visual img { min-height: 24rem; }
.flexible-grid { margin-top: 2.5rem; }
.flexible-grid article { padding-top: 1.15rem; border-top-width: 1px; }

.formats-grid {
  gap: clamp(1.25rem, 3vw, 3rem);
  padding: 2rem clamp(1rem, 3vw, 2.5rem) 1.4rem;
  border-block: 1px solid rgb(11 31 51 / 10%);
  background:
    radial-gradient(ellipse at 50% 78%, rgb(79 143 139 / 13%), transparent 35%),
    linear-gradient(180deg, rgb(220 238 248 / 17%), rgb(255 255 255 / 0));
}

.formats-grid::before { bottom: 6.7rem; }
.format-product,
.formats-grid article:nth-child(2) .format-product,
.formats-grid article:nth-child(3) .format-product { height: clamp(16rem, 20vw, 19rem); }
.formats-grid article:nth-child(2) .format-product { height: clamp(18rem, 22vw, 21rem); }
.formats-grid article:nth-child(3) .format-product { height: clamp(15rem, 18vw, 17rem); }
.format-product img { filter: drop-shadow(0 1.7rem 1.1rem rgb(11 31 51 / 20%)); }
.connectivity-callout { max-width: 56rem; margin-top: 2.75rem; }

.explore { padding-block: clamp(4.5rem, 5.5vw, 5.5rem); }
.explore .split { grid-template-columns: minmax(19rem, .72fr) minmax(0, 1.28fr); }
.explore-viewer { margin: -1.25rem -1rem -1rem 0; }
.explore-stage { min-height: clamp(28rem, 36vw, 33rem); }

.explore-stage::after {
  position: absolute;
  z-index: 0;
  right: 17%;
  bottom: 9%;
  left: 17%;
  height: 12%;
  border: 1px solid rgb(220 238 248 / 14%);
  border-radius: 50%;
  background: radial-gradient(ellipse, rgb(79 143 139 / 23%), rgb(2 10 16 / 72%) 68%);
  box-shadow: 0 1.3rem 3rem rgb(0 0 0 / 35%);
  content: "";
}

.explore-stage__poster {
  z-index: 2;
  width: 76%;
  height: 92%;
  padding: 0;
  margin: 1% 12% 7%;
  filter: drop-shadow(0 2.2rem 1.7rem rgb(0 0 0 / 42%));
}

.explore-stage__instruction { margin-top: .9rem; font-size: .76rem; opacity: .72; }
.explore-status { font-size: .73rem; }

.form-shell {
  min-height: 0;
  padding: clamp(2rem, 3vw, 3rem);
  color: rgb(255 255 255 / 76%);
  background: rgb(5 24 37 / 92%);
  box-shadow: var(--premium-shadow);
}

.form-shell h3 { color: var(--color-white); }
.form-shell .button { color: var(--color-navy); background: var(--color-ice); }
.form-shell .button:hover { color: var(--color-white); background: var(--color-teal-dark); }

#sustainability {
  background: linear-gradient(105deg, var(--color-off-white), var(--color-white) 58%, rgb(220 238 248 / 38%));
}

#sustainability .split {
  grid-template-columns: minmax(30rem, 1.2fr) minmax(20rem, .8fr);
}

#sustainability .recycle-scene { grid-column: 1; grid-row: 1; }
#sustainability .section-copy { grid-column: 2; grid-row: 1; padding: 1.5rem 0 1rem 1.5rem; }
.recycle-scene { min-height: clamp(23rem, 30vw, 26rem); box-shadow: var(--premium-shadow); }
.sustainability-steps li { padding-block: .95rem; }

.contact { padding-block: clamp(4rem, 5vw, 5rem); }
.contact-routes { gap: clamp(1.25rem, 2.5vw, 2.5rem); }
.contact-routes article {
  min-height: 10rem;
  padding: 1.25rem 0 0;
  border: 0;
  border-top: 1px solid rgb(220 238 248 / 38%);
  background: transparent;
}
.contact-routes article:hover { border-top-color: var(--color-teal); background: transparent; transform: translateY(-.2rem); }
.contact-routes h3 { max-width: 15ch; font-size: 1.35rem; }

.site-footer { padding-block: 2.75rem 1.75rem; }
.site-footer__inner { row-gap: 2rem; }
.site-footer__statement { max-width: 28rem; font-size: 1rem; line-height: 1.55; }
.site-footer__legal { font-size: .72rem; opacity: .72; }

@media (min-width: 64rem) {
  .hero h1 { font-size: clamp(3rem, 4vw, 3.6rem); }
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .hero__content { width: min(100%, 38rem); }
  .hero-product--image { position: relative; inset: auto; }
  .hero-product--image { min-height: 23rem; }
  .about-editorial .event-scene { grid-column: 1 / 9; min-height: 27rem; }
  .about-editorial .section-copy { grid-column: 6 / 13; }
  .journey-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journey-list::before { display: none; }
  .journey-list li,
  .journey-list li:nth-child(even) { min-height: 10rem; grid-column: auto; padding-top: 1rem; border-top: 1px solid rgb(220 238 248 / 24%); }
  .journey-list li:nth-child(5) { grid-column: 1 / -1; width: calc(50% - .5rem); justify-self: center; }
  .journey-cue { float: left; margin: 0 1rem 1rem 0; }
  .solution-panel { grid-template-columns: minmax(16rem, .75fr) minmax(0, 1.25fr); }
  .solution-panel__copy,
  .solution-panel__visual,
  .solution-panel__visual img { min-height: 22rem; }
  .explore .split { grid-template-columns: minmax(15rem, .68fr) minmax(0, 1.32fr); }
  .explore-stage { min-height: 28rem; }
  .form-shell { align-self: center; }
  #sustainability .split { grid-template-columns: minmax(26rem, 1.15fr) minmax(16rem, .85fr); }
}

@media (max-width: 40rem) {
  :root { --section-space: clamp(3.2rem, 11vw, 3.8rem); }
  .hero { padding-block: 1.35rem 2rem; }
  .hero__composition { gap: 1rem; }
  .hero__content { width: 100%; }
  .hero-product--image { position: relative; inset: auto; }
  .hero h1 { font-size: clamp(2.42rem, 10.8vw, 2.8rem); }
  .hero__copy { line-height: 1.5; }
  .hero .button-group { gap: .55rem; margin-top: 1.05rem; }
  .hero .button { min-height: 2.95rem; }
  .hero-product--image,
  .hero-product--image img { min-height: 14rem; }
  .about-editorial .section-copy { padding-block: 1rem 1.4rem; box-shadow: none; }
  .about-editorial .event-scene { min-height: 18rem; }
  .journey-list { display: block; }
  .journey-list::before { display: none; }
  .journey-list li,
  .journey-list li:nth-child(even),
  .journey-list li:nth-child(5) {
    display: grid;
    min-height: 0;
    grid-template-columns: 3.25rem 1fr;
    gap: .9rem;
    padding: 1rem 0;
    border-top: 1px solid rgb(220 238 248 / 20%);
  }
  .journey-cue { width: 3.1rem; height: 3.1rem; margin: 0; transform: scale(.88); }
  .solution-tabs__list { padding-inline: .75rem; }
  .solution-tabs__list button { flex-basis: 9.6rem; min-height: 4rem; }
  .solution-panel { grid-template-columns: 1fr; margin-inline: 0; }
  .solution-panel__copy { padding: 1.5rem 1.25rem 4rem; }
  .solution-panel__visual,
  .solution-panel__visual img { min-height: 15rem; }
  .formats-grid { gap: 1.2rem .65rem; padding: 1.25rem .5rem; }
  .format-product,
  .formats-grid article:nth-child(2) .format-product,
  .formats-grid article:nth-child(3) .format-product { height: 12.5rem; }
  .format-meta h3 { font-size: .9rem; }
  .connectivity-callout { padding: 1.25rem; }
  .explore { padding-block: 3.6rem; }
  .explore .split { display: block; }
  .explore__copy h2 { font-size: clamp(2.15rem, 9.6vw, 2.4rem); }
  .explore-stage { min-height: 22rem; }
  .explore-stage__poster { width: 82%; height: 94%; margin-inline: 9%; }
  .explore-controls { margin-top: -.8rem; }
  .explore-stage__instruction { font-size: .68rem; }
  #partnership { padding-block: 3.6rem; }
  .form-shell { padding: 1.35rem; }
  #sustainability .split { display: flex; flex-direction: column; }
  #sustainability .section-copy { order: 1; padding: 0; }
  #sustainability .recycle-scene { order: 2; min-height: 18rem; }
  .contact { padding-block: 3.6rem; }
  .contact-routes article { min-height: 8.5rem; }
  .site-footer { padding-block: 2.25rem 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .corporate-site .button,
  .solution-tabs__list button,
  .contact-routes article { transition: none; }
  .corporate-site .button:hover,
  .contact-routes article:hover { transform: none; }
}

/* ==========================================================
   MERKURI Explore ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â model-viewer
   ========================================================== */

.explore-stage__model {
position: absolute;
inset: 0;
display: block;
width: 100%;
height: 100%;
z-index: 2;
touch-action: pan-y;
--poster-color: transparent;
}

.explore-stage__glow,
.explore-stage__badge {
pointer-events: none;
}


/* ==========================================================
   MERKURI Explore ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â custom fluid renderer
   ========================================================== */

.explore-stage__fluid-canvas {
position: absolute;
inset: 0;
display: block;
width: 100%;
height: 100%;
z-index: 3;
touch-action: pan-y;
cursor: grab;
}

.explore-stage.is-dragging .explore-stage__fluid-canvas {
cursor: grabbing;
}

.explore-stage__poster {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: contain;
pointer-events: none;
user-select: none;
-webkit-user-drag: none;
z-index: 2;
}

.explore-stage__glow {
pointer-events: none;
z-index: 1;
}

.explore-stage__badge {
pointer-events: none;
z-index: 5;
}

/* MERKURI fluid renderer visibility override */
.explore-stage .explore-stage__fluid-canvas {
opacity: 1;
pointer-events: auto;
visibility: visible;
}

/* ============================================================
   TEMP FIX ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â remove floating dark base ring under 3D bottle
   Safe visual override only.
   ============================================================ */

.explore-stage::after,
.explore-visual::after,
.explore-figure::after,
.explore-showcase::after,
.merkuri-explore__stage::after,
.merkuri-explore__visual::after,
[data-explore-fluid-stage]::after,
[data-explore-stage]::after {
    content: none !important;
    display: none !important;
    background: none !important;
    box-shadow: none !important;
}

.explore-stage-shadow,
.explore-shadow,
.merkuri-explore__shadow,
[data-explore-shadow] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* MERKURI EXPLORE FINAL UI CLEANUP */

.explore-controls {
    position: relative !important;
    z-index: 10 !important;
    margin-top: 3.25rem !important;
}

.explore-stage__instruction {
    margin-top: 2rem !important;
}

.explore-render-note {
    max-width: 42rem;
    margin: .45rem auto 0;
    padding-inline: .75rem;
    color: rgb(220 238 248 / 52%);
    font-size: .68rem;
    line-height: 1.45;
    text-align: center;
    letter-spacing: .02em;
}

@media (max-width: 47.99rem) {
    .explore-controls {
        margin-top: 1.5rem !important;
    }

    .explore-render-note {
        font-size: .63rem;
    }
}
/* MERKURI EXPLORE CONTROL CLEARANCE FINAL */

.explore-viewer > .explore-controls {
    position: relative !important;
    z-index: 20 !important;
    margin-top: 3.25rem !important;
}

.explore-stage {
    margin-bottom: 0 !important;
}

.explore-render-note {
    margin-top: .5rem !important;
}

@media (max-width: 47.99rem) {
    .explore-viewer > .explore-controls {
        margin-top: 2rem !important;
    }
}
/* ============================================================
   MERKURI SOLUTIONS SPACING FIX 2026
   ============================================================ */

/*
 * Flexible-by-design cards
 * Keep copy away from the card borders.
 */
#solutions .flexible-grid > article {
    box-sizing: border-box;
    padding: 1.75rem 2rem 1.9rem;
}

/*
 * Do not let the first/last child margins artificially eat into
 * the card's new padding.
 */
#solutions .flexible-grid > article > :first-child {
    margin-top: 0;
}

#solutions .flexible-grid > article > :last-child {
    margin-bottom: 0;
}

/*
 * Keep the bottom supporting line comfortably inside the card.
 */
#solutions .flexible-grid .supporting-items {
    padding-top: .25rem;
    line-height: 1.55;
}


/* ============================================================
   MOBILE SOLUTIONS FIX
   ============================================================ */

@media (max-width: 47.99rem) {

    /*
     * The site header is fixed/sticky on mobile.
     * When #solutions becomes the scroll target, leave enough room
     * so the heading is not positioned underneath the header.
     */
    #solutions {
        scroll-margin-top: 5.5rem;
    }

    /*
     * Compact but deliberate card inset on phones.
     */
    #solutions .flexible-grid > article {
        padding: 1.4rem 1.35rem 1.5rem;
    }

    /*
     * Let the title wrap naturally according to viewport width.
     * Do not force a manual line break.
     */
    #solutions .section-heading h2 {
        white-space: normal;
        overflow-wrap: normal;
        word-break: normal;
        max-width: 100%;
    }

    /*
     * Small clearance before the environment heading/tabs.
     */
    #solutions .section-heading + h3 {
        margin-top: 1.5rem;
    }
}
/* ============================================================
   MERKURI MOBILE SOLUTIONS HEADING CLEARANCE
   ============================================================ */

@media (max-width: 47.99rem) {

    /*
     * Give the Solutions introduction real document-flow
     * clearance below the sticky mobile header.
     */
    #solutions .section-heading {
        position: relative !important;
        margin-top: 0 !important;
        padding-top: 4.75rem !important;
        transform: none !important;
    }

    /*
     * Keep the title fully visible and let it wrap naturally.
     */
    #solutions .section-heading h2 {
        margin-top: 0 !important;
        padding-top: 0 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-wrap: balance;
    }

    /*
     * Keep the descriptive paragraph in normal flow.
     */
    #solutions .section-heading > p:last-child {
        margin-top: 1rem;
    }
}
/* ============================================================
   MERKURI MOBILE SOLUTION HEADING ONE LINE
   ============================================================ */

@media (max-width: 47.99rem) {

    #solutions .solution-panel__copy h3 {
        font-size: clamp(1.45rem, 6.1vw, 1.75rem) !important;
        line-height: 1.08 !important;
        white-space: nowrap !important;
        letter-spacing: -0.02em;
    }
}
/* ============================================================
   MERKURI MOBILE SOLUTION HEADING FIX
   ============================================================ */

@media (max-width: 47.99rem) {

    #solutions .solution-panel__copy h3 {
        font-size: 1.45rem !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
        letter-spacing: -0.015em !important;
        max-width: 100% !important;
    }
}
/* ============================================================
   MERKURI MOBILE SOLUTION TEXT DIVIDER GAP
   ============================================================ */

@media (max-width: 47.99rem) {

    #solutions .solution-panel__cue {
        margin-top: 2rem !important;
        padding-top: .85rem !important;
    }
}
/* ============================================================
   MERKURI MOBILE SOLUTION CUE NORMAL FLOW
   ============================================================ */

@media (max-width: 47.99rem) {

    /*
     * Cue/divider was absolutely positioned, so margin-top could
     * not create real space from the description.
     */
    #solutions .solution-panel__cue {
        position: static !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        margin-top: 2rem !important;
        padding-top: 1rem !important;

        width: 100%;
        max-width: none !important;
    }

    /*
     * Bottom space is no longer needed to reserve room for an
     * absolutely-positioned cue.
     */
    #solutions .solution-panel__copy {
        padding-bottom: 1.75rem !important;
    }
}
