:root{--paper:#FAF8F2;--paper-deep:#F1EDE1;--ink:#141B18;--ink-soft:#4E5850;--teal:#176A75;--teal-deep:#0C3B42;--coral:#FB7A56;--coral-deep:#E15E3B;--yellow:#F3C64B;--lime:#B7E23E;--violet:#7C6CF2;--violet-deep:#5B4CD6;--line:rgba(20,27,24,0.14);--shadow-soft:0 10px 30px rgba(20,27,24,.08);--shadow-card:0 18px 48px rgba(20,27,24,.10);--shadow-hover:0 18px 42px rgba(20,27,24,.12);--radius:20px;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Space Grotesk',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:18.5px;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}h1,h2,h3{font-family:'Bricolage Grotesque','Space Grotesk',system-ui,sans-serif;font-weight:600;letter-spacing:-0.02em;margin:0}.mono{font-family:'IBM Plex Mono',monospace}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}::selection{background:var(--coral);color:#fff}@media (prefers-reduced-motion:reduce){*{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}#cursorDot{display:none}}.wrap{max-width:1180px;margin:0 auto;padding:0 32px;position:relative}section{position:relative;padding:130px 0}@media (max-width:760px){section{padding:80px 0}.wrap{padding:0 22px}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal-stagger.in>*{opacity:1;transform:translateY(0)}.reveal-stagger.in>*:nth-child(1){transition-delay:.02s}.reveal-stagger.in>*:nth-child(2){transition-delay:.10s}.reveal-stagger.in>*:nth-child(3){transition-delay:.18s}.reveal-stagger.in>*:nth-child(4){transition-delay:.26s}.reveal-stagger.in>*:nth-child(5){transition-delay:.34s}.blob{position:absolute;border-radius:50%;filter:blur(28px);pointer-events:none;z-index:0;contain:layout style;animation-duration:22s !important}@keyframes float1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(24px,-30px) scale(1.08)}}.doodle{position:absolute;pointer-events:none;z-index:1}@keyframes floaty{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-14px) rotate(6deg)}}.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Space Grotesk',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;font-size:16.5px;padding:16px 26px;border-radius:100px;border:1px solid transparent;transition:transform .18s var(--ease),background .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);position:relative;white-space:nowrap;cursor:pointer}.btn:active{transform:scale(0.96)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--coral);color:var(--ink);box-shadow:0 10px 30px -10px rgba(251,122,86,0.6)}.btn-ghost{border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--violet);color:var(--violet-deep)}a:focus-visible,.btn:focus-visible,.console-tab:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:6px}footer.site{padding:76px 0 44px;position:relative}.foot-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:40px;padding-bottom:54px;border-bottom:1px solid var(--line)}.foot-brand{max-width:500px}.foot-brand .brand .mark{width:110px;height:110px;object-fit:contain;transform:translateY(-5px)}.foot-brand .brand{font-size:56px;gap:6px;align-items:center}.foot-brand p{font-size:17px;color:var(--ink-soft);line-height:1.6;margin-top:18px}.foot-cols{display:flex;gap:52px;flex-wrap:wrap}.foot-col h4{font-family:'IBM Plex Mono',monospace;font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin:0 0 20px;font-weight:500}.foot-col a{display:block;font-size:18px;padding:8px 0;color:var(--ink);transition:color .25s var(--ease),transform .25s var(--ease)}.foot-col a:hover{color:var(--coral-deep);transform:translateX(4px)}.foot-bottom{display:flex;justify-content:space-between;padding-top:28px;font-size:13.5px;color:var(--ink-soft);font-family:'IBM Plex Mono',monospace;flex-wrap:wrap;gap:12px}main>section:not(.hero),footer{content-visibility:auto;contain-intrinsic-size:900px}img{height:auto}footer.site .foot-top{align-items:flex-start;flex-wrap:nowrap}footer.site .foot-brand{flex:0 0 420px;max-width:420px}footer.site .foot-cols{margin-left:auto;justify-content:flex-start}@media (max-width:760px){footer.site .foot-top{flex-wrap:wrap}footer.site .foot-brand{flex:1 1 auto;max-width:500px}footer.site .foot-cols{margin-left:0}}.foot-brand .brand{gap:12px}.foot-mail{display:inline-flex !important;align-items:center;gap:8px}.foot-mail-icon{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:rgba(12,59,66,.08);color:var(--teal-deep);font-size:13px;line-height:1}header#siteHeader .brand,.foot-brand .brand{gap:18px !important}.foot-mail{display:inline-flex !important;align-items:center;justify-content:center;min-width:auto}.foot-mail-icon{width:34px;height:34px;border-radius:999px;background:transparent;color:var(--teal-deep);font-size:26px;line-height:1;display:inline-grid;place-items:center}.foot-col:has(.foot-mail){text-align:center;min-width:68px}.foot-col:has(.foot-mail) h4{text-align:center}.foot-col:has(.foot-mail) .foot-mail{display:flex !important;width:100%;justify-content:center;align-items:center}.foot-col:has(.foot-mail) .foot-mail-icon{margin:0 auto}.foot-col.contact-col{text-align:center;min-width:68px}.foot-col.contact-col h4{text-align:center}.foot-col.contact-col .foot-mail{display:flex !important;width:100%;justify-content:center;align-items:center}footer.site .foot-top{border-bottom:0 !important;padding-bottom:0 !important}footer.site .foot-bottom{display:none !important}header#siteHeader.scroll-position-controlled{transition:padding .25s var(--ease) !important;will-change:transform}.foot-cols{margin-top:20px}

/* Shared nav/footer consistency + uploaded email icon v58 */
header#siteHeader .navpill {
  align-items: center !important;
}

footer.site {
  position: relative !important;
}

footer.site .foot-top {
  align-items: flex-start !important;
  flex-wrap: nowrap !important;
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

footer.site .foot-brand {
  flex: 0 0 420px !important;
  max-width: 420px !important;
}

footer.site .foot-cols {
  margin-left: auto !important;
  justify-content: flex-start !important;
  margin-top: 20px !important;
}

.foot-brand .brand,
header#siteHeader .brand {
  gap: 18px !important;
}

.foot-col.contact-col {
  text-align: center !important;
  min-width: 68px !important;
}

.foot-col.contact-col h4 {
  text-align: center !important;
}

.foot-mail {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  align-items: center !important;
}

.foot-mail-icon {
  display: inline-block !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 0 !important;
  background-color: var(--teal-deep) !important;
  -webkit-mask: url("/assets/footer-email-icon.svg") center / contain no-repeat !important;
  mask: url("/assets/footer-email-icon.svg") center / contain no-repeat !important;
  color: var(--teal-deep) !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

footer.site .foot-bottom {
  display: none !important;
}

@media (max-width: 760px) {
  footer.site .foot-top {
    flex-wrap: wrap !important;
  }

  footer.site .foot-brand {
    flex: 1 1 auto !important;
    max-width: 500px !important;
  }

  footer.site .foot-cols {
    margin-left: 0 !important;
  }

  header#siteHeader .brand,
  .foot-brand .brand {
    gap: 12px !important;
  }
}

/* Footer email icon alignment v60 */
footer.site .foot-col.contact-col h4,
.foot-col:has(.foot-mail) h4 {
  margin-bottom: 10px !important;
}
footer.site .foot-mail {
  transform: translateY(8px) !important;
}


/* v61 faster scroll-up navbar reveal shared across pages */
header#siteHeader.scroll-position-controlled {
  transition: transform .16s var(--ease), padding .22s var(--ease) !important;
}


/* Final footer nav cleanup v72 */
.foot-col.contact-col,
.foot-mail,
.foot-mail-icon {
  display: none !important;
}
footer.site .foot-cols {
  gap: 52px !important;
}


/* v104 shared mobile/performance safety */
html, body { max-width: 100%; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
@media (max-width: 760px), (pointer: coarse) {
  #cursorDot { display: none !important; }
  header#siteHeader, header { padding: 12px 16px !important; gap: 10px !important; }
  header#siteHeader .brand, header .brand { font-size: 20px !important; gap: 8px !important; }
  header#siteHeader .brand .mark, header .brand .mark, header#siteHeader .brand img.mark, header .brand img.mark { width:54px !important; height:54px !important; transform:none !important; }
  header#siteHeader .navpill, header .navpill { padding:4px !important; border-radius:999px !important; max-width:calc(100vw - 150px) !important; overflow:hidden !important; }
  header#siteHeader .navpill a:not(.cta), header .navpill a:not(.cta) { display:none !important; }
  header#siteHeader .navpill .cta, header .navpill .cta { display:inline-flex !important; padding:9px 12px !important; font-size:13px !important; white-space:nowrap !important; }
  .wrap { width:min(100% - 28px, 1180px) !important; }
  footer.site { padding:34px 0 24px !important; }
  .foot-top, .foot-cols { display:grid !important; grid-template-columns:1fr !important; gap:18px !important; }
  .foot-brand .brand, .footer-logo { font-size:32px !important; }
  .foot-brand .brand .mark, .footer-logo .mark { width:64px !important; height:64px !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}


/* v109: remove faint grey borders/lines sitewide */
body * ,
body *::before,
body *::after {
  border-color: transparent !important;
  outline-color: transparent !important;
}


/* v110 performance + responsive polish */
/* smoother sizing everywhere */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body {
  min-width: 0;
  overflow-x: hidden !important;
}
*, *::before, *::after {
  box-sizing: border-box;
}
img, svg, video, iframe {
  max-width: 100%;
}
a, button, summary {
  -webkit-tap-highlight-color: rgba(251,122,86,.16);
}

/* keep focus visible without grey borders */
a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(183,226,62,.34) !important;
  border-radius: 14px;
}

/* performance: avoid work for far-away page sections */
section,
footer.site {
  content-visibility: auto;
  contain-intrinsic-size: 1px 620px;
}
header#siteHeader,
header,
.hero,
.innovation-series-page-hero,
.stamp-hero,
.faq-page {
  content-visibility: visible;
}

/* make top nav feel clean on tablets and phones */
@media (max-width: 980px) {
  header#siteHeader,
  header {
    padding: 18px 22px !important;
    gap: 10px !important;
  }
  header#siteHeader .brand,
  header .brand {
    font-size: clamp(22px, 4vw, 34px) !important;
    gap: 7px !important;
    line-height: 1 !important;
  }
  header#siteHeader .brand .mark,
  header .brand .mark,
  header#siteHeader .brand img.mark,
  header .brand img.mark {
    width: clamp(62px, 13vw, 92px) !important;
    height: clamp(62px, 13vw, 92px) !important;
  }
  header#siteHeader .navpill,
  header .navpill {
    max-width: calc(100vw - 190px) !important;
    padding: 5px !important;
    border-radius: 999px !important;
    overflow: hidden !important;
  }
  header#siteHeader .navpill a,
  header .navpill a {
    font-size: 14px !important;
    padding: 10px 13px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 680px) {
  header#siteHeader,
  header {
    padding: 12px 14px !important;
    align-items: center !important;
  }
  header#siteHeader .brand,
  header .brand {
    font-size: 20px !important;
    max-width: 46vw !important;
  }
  header#siteHeader .brand .mark,
  header .brand .mark,
  header#siteHeader .brand img.mark,
  header .brand img.mark {
    width: 54px !important;
    height: 54px !important;
  }
  header#siteHeader .navpill,
  header .navpill {
    max-width: 48vw !important;
    margin-left: auto !important;
  }
  header#siteHeader .navpill a:not(.cta),
  header .navpill a:not(.cta) {
    display: none !important;
  }
  header#siteHeader .navpill .cta,
  header .navpill .cta {
    margin-left: 0 !important;
    font-size: 12px !important;
    padding: 9px 11px !important;
  }
}

/* Home page mobile */
@media (max-width: 900px) {
  body.home-body .hero {
    padding-top: 145px !important;
    padding-bottom: 54px !important;
  }
  body.home-body .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  body.home-body .hero h1 {
    font-size: clamp(48px, 14vw, 82px) !important;
    line-height: .92 !important;
  }
  body.home-body .hero-sub {
    font-size: clamp(17px, 4.3vw, 21px) !important;
    line-height: 1.45 !important;
    margin-top: 20px !important;
  }
  body.home-body .hero-actions {
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 26px !important;
  }
  body.home-body .console {
    width: 100% !important;
    transform: none !important;
    border-radius: 18px !important;
  }
  body.home-body .console-body {
    min-height: 300px !important;
    padding: 20px 18px 24px !important;
    font-size: 13px !important;
    line-height: 1.72 !important;
  }
  body.home-body .console-tabs {
    overflow-x: auto !important;
  }
  body.home-body .console-tab {
    flex: 0 0 auto !important;
    font-size: 12px !important;
    padding: 9px 13px !important;
  }
  body.home-body .bento,
  body.home-body .manifesto {
    grid-template-columns: 1fr !important;
  }
  body.home-body .card {
    grid-column: 1 !important;
    padding: 28px !important;
  }
}

/* Innovation page mobile and tablet */
@media (max-width: 980px) {
  body.innovation-series-body .innovation-series-page-hero {
    padding-top: 132px !important;
    overflow: hidden !important;
  }
  body.innovation-series-body .innovation-series-wrap,
  body.innovation-series-body .wrap {
    width: min(100% - 28px, 1180px) !important;
  }
  body.innovation-series-body .innovation-hero-grid,
  body.innovation-series-body .innovation-bottom-row {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  body.innovation-series-body .innovation-series-heading {
    transform: none !important;
    text-align: left !important;
  }
  body.innovation-series-body .innovation-title-block h1 {
    font-size: clamp(48px, 13vw, 78px) !important;
  }
  body.innovation-series-body .innovation-series-heading p {
    font-size: 16px !important;
    line-height: 1.46 !important;
    max-width: 640px !important;
  }
  body.innovation-series-body .innovation-hero-actions {
    margin-top: 18px !important;
  }
  body.innovation-series-body .innovation-map-card {
    max-width: 100% !important;
    transform: none !important;
    margin: 0 auto !important;
  }
  body.innovation-series-body .innovation-map,
  body.innovation-series-body .innovation-map-portrait {
    width: 100% !important;
    min-height: 300px !important;
    transform: none !important;
  }
  body.innovation-series-body .innovation-map-step {
    transform: translate(-50%, -50%) rotate(var(--rot)) scale(.82) !important;
  }
  body.innovation-series-body .innovation-step-tooltip {
    display: none !important;
  }
  body.innovation-series-body .innovation-prize-section,
  body.innovation-series-body .innovation-prize-section-connected {
    max-width: 100% !important;
    min-height: 0 !important;
    transform: none !important;
    overflow: visible !important;
  }
  body.innovation-series-body .prize-notebook-connected {
    width: 100% !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    transform: rotate(-.35deg) !important;
  }
  body.innovation-series-body .prize-page-left,
  body.innovation-series-body .prize-page-right {
    min-height: 0 !important;
    padding: 22px !important;
  }
  body.innovation-series-body .prize-page-left {
    border-radius: 26px 26px 0 0 !important;
  }
  body.innovation-series-body .prize-page-right {
    border-radius: 0 0 26px 26px !important;
  }
  body.innovation-series-body .prize-green-note {
    min-height: 240px !important;
    padding: 28px 20px !important;
  }
  body.innovation-series-body .prize-green-note h2 {
    margin-top: 14px !important;
    font-size: clamp(34px, 11vw, 52px) !important;
  }
  body.innovation-series-body .prize-award-grid,
  body.innovation-series-body .prize-mini-row {
    gap: 10px !important;
  }
  body.innovation-series-body .innovation-timeline-banner,
  body.innovation-series-body .innovation-side-card {
    max-width: 100% !important;
    min-height: 260px !important;
    margin: 10px auto 0 !important;
    overflow: hidden !important;
  }
  body.innovation-series-body .innovation-side-card-image {
    width: 100% !important;
    transform: none !important;
    object-fit: contain !important;
  }
  body.innovation-series-body .innovation-blue-timeline-note {
    position: absolute !important;
    inset: 22px auto auto 22px !important;
    transform: rotate(1.5deg) scale(.86) !important;
    transform-origin: top left !important;
  }
  body.innovation-series-body .blue-timeline-badge,
  body.innovation-series-body .innovation-blue-timeline-note h3,
  body.innovation-series-body .blue-timeline-line,
  body.innovation-series-body .blue-timeline-steps,
  body.innovation-series-body .blue-timeline-flag {
    transform: rotate(-.6deg) !important;
  }
  body.innovation-series-body .innovation-rules-link-card,
  body.innovation-series-body .innovation-support-section {
    width: min(100% - 28px, 1120px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.innovation-series-body .innovation-support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}
@media (max-width: 620px) {
  body.innovation-series-body .innovation-support-grid {
    grid-template-columns: 1fr !important;
  }
  body.innovation-series-body .prize-award-grid {
    grid-template-columns: 1fr !important;
  }
  body.innovation-series-body .prize-mini-row {
    grid-template-columns: 1fr !important;
  }
  body.innovation-series-body .innovation-blue-timeline-note {
    transform: rotate(1.5deg) scale(.72) !important;
    inset: 18px auto auto 16px !important;
  }
  body.innovation-series-body .innovation-timeline-banner,
  body.innovation-series-body .innovation-side-card {
    min-height: 230px !important;
  }
}

/* FAQ page mobile */
@media (max-width: 760px) {
  body.faq-body .faq-page {
    padding-top: 112px !important;
    padding-bottom: 8px !important;
  }
  body.faq-body .faq-wrap {
    width: min(100% - 28px, 1040px) !important;
    transform: none !important;
  }
  body.faq-body .faq-hero {
    margin-bottom: 8px !important;
  }
  body.faq-body .faq-hero h1 {
    font-size: clamp(44px, 14vw, 68px) !important;
  }
  body.faq-body .faq-hero p {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }
  body.faq-body .faq-grid {
    margin-top: 8px !important;
    gap: 10px !important;
  }
  body.faq-body .faq-item summary {
    font-size: 21px !important;
    padding: 18px 16px !important;
  }
  body.faq-body .faq-answer {
    font-size: 15.5px !important;
    padding: 0 16px 18px !important;
  }
}

/* Footer mobile */
@media (max-width: 760px) {
  footer.site {
    padding: 30px 0 18px !important;
  }
  footer.site .wrap {
    width: min(100% - 28px, 1180px) !important;
  }
  .foot-top,
  .foot-cols {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .foot-brand p {
    max-width: 100% !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
  .foot-brand .brand,
  .footer-logo {
    font-size: 30px !important;
  }
  .foot-brand .brand .mark,
  .footer-logo .mark {
    width: 62px !important;
    height: 62px !important;
  }
}

/* coarse pointer: lighter animations */
@media (pointer: coarse), (max-width: 760px), (prefers-reduced-motion: reduce) {
  #cursorDot {
    display: none !important;
  }
  .watermark,
  .watermark2,
  .innovation-spin-logo,
  .innovation-bg-leaf,
  .innovation-jungle-splash,
  .innovation-jungle-vine,
  .sponsor-nature-leaf,
  .sponsor-nature-vine,
  .sponsor-green-splash,
  .sponsor-nature-logo,
  .float-logo,
  .star {
    display: none !important;
    animation: none !important;
  }
  .reveal,
  .reveal-stagger,
  .innovation-support-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* v113: restore regular browser cursor globally */
#cursorDot,
#cursorDot::before,
#cursorDot::after {
  display: none !important;
  visibility: hidden !important;
}
html,
body {
  cursor: auto !important;
}
a,
button,
summary {
  cursor: pointer !important;
}


/* v116 global zoom/mobile guard */
html {
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}
@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden !important;
  }
}
body {
  min-width: 0 !important;
}
*,
*::before,
*::after {
  box-sizing: border-box !important;
}
img,
svg,
video,
iframe,
canvas {
  max-width: 100% !important;
}
img {
  height: auto;
}
p,
h1,
h2,
h3,
h4,
li,
a,
span,
strong {
  overflow-wrap: anywhere;
}
.wrap,
.faq-wrap,
.innovation-series-wrap,
.stamp-wrap {
  max-width: min(1180px, calc(100vw - 48px)) !important;
}
@media (max-width: 760px) {
  .wrap,
  .faq-wrap,
  .innovation-series-wrap,
  .stamp-wrap {
    max-width: min(1180px, calc(100vw - 28px)) !important;
    width: min(1180px, calc(100vw - 28px)) !important;
  }
}

/* header stays usable when zoomed or on small screens */
@media (max-width: 1180px) {
  header#siteHeader,
  header {
    padding: 16px 22px !important;
    gap: 10px !important;
  }
  header#siteHeader .brand,
  header .brand {
    min-width: 0 !important;
    max-width: 48vw !important;
    font-size: clamp(20px, 4vw, 36px) !important;
    white-space: nowrap !important;
  }
  header#siteHeader .brand .mark,
  header .brand .mark,
  header#siteHeader .brand img.mark,
  header .brand img.mark {
    width: clamp(54px, 9vw, 90px) !important;
    height: clamp(54px, 9vw, 90px) !important;
    flex: 0 0 auto !important;
  }
  header#siteHeader .navpill,
  header .navpill {
    max-width: 50vw !important;
    overflow: hidden !important;
    margin-left: auto !important;
  }
  header#siteHeader .navpill a,
  header .navpill a {
    font-size: clamp(12px, 1.7vw, 15px) !important;
    padding: 9px 12px !important;
    white-space: nowrap !important;
  }
}
@media (max-width: 720px) {
  header#siteHeader,
  header {
    padding: 12px 14px !important;
  }
  header#siteHeader .brand,
  header .brand {
    max-width: 45vw !important;
    font-size: 19px !important;
  }
  header#siteHeader .brand .mark,
  header .brand .mark,
  header#siteHeader .brand img.mark,
  header .brand img.mark {
    width: 52px !important;
    height: 52px !important;
  }
  header#siteHeader .navpill,
  header .navpill {
    max-width: 50vw !important;
    padding: 4px !important;
    border-radius: 999px !important;
  }
  header#siteHeader .navpill a:not(.cta),
  header .navpill a:not(.cta) {
    display: none !important;
  }
  header#siteHeader .navpill .cta,
  header .navpill .cta {
    margin-left: 0 !important;
    font-size: 12px !important;
    padding: 8px 10px !important;
  }
}

/* footer never splits awkwardly when zoomed */
@media (max-width: 980px) {
  footer.site {
    padding: 34px 0 24px !important;
  }
  .foot-top,
  .foot-cols {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .foot-top {
    padding-bottom: 26px !important;
  }
  .foot-brand {
    max-width: 100% !important;
  }
  .foot-brand .brand,
  .footer-logo {
    font-size: clamp(30px, 8vw, 46px) !important;
  }
  .foot-brand .brand .mark,
  .footer-logo .mark {
    width: clamp(60px, 15vw, 90px) !important;
    height: clamp(60px, 15vw, 90px) !important;
  }
}

/* lighter motion/rendering on phones */
@media (max-width: 760px), (pointer: coarse), (prefers-reduced-motion: reduce) {
  #cursorDot,
  .watermark,
  .watermark2,
  .blob,
  .doodle,
  .innovation-spin-logo,
  .innovation-bg-leaf,
  .innovation-jungle-splash,
  .innovation-jungle-vine,
  .sponsor-nature-leaf,
  .sponsor-nature-vine,
  .sponsor-green-splash,
  .sponsor-nature-logo,
  .float-logo,
  .star {
    display: none !important;
    animation: none !important;
  }
  .reveal,
  .reveal-stagger,
  .innovation-support-card {
    opacity: 1 !important;
    transition: none !important;
  }
}


/* v118: make bottom/footer nav fully transparent everywhere */
footer.site,
footer.site .wrap,
footer.site .foot-top,
footer.site .foot-brand,
footer.site .foot-cols,
footer.site .foot-col {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
footer.site::before,
footer.site::after,
footer.site .wrap::before,
footer.site .wrap::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
}


/* v119 force footer/nav transparency */
footer.site,
footer.site *,
footer.site::before,
footer.site::after {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
footer.site::before,
footer.site::after {
  display: none !important;
  content: none !important;
}


/* v120 force transparent footer/bottom nav */
footer.site,
footer.site *,
footer.site::before,
footer.site::after {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* v131 final logo color + mobile safety */
header#siteHeader .brand,
header .brand,
.foot-brand .brand,
.footer-logo,
footer.site .brand {
  color: #141B18 !important;
  text-shadow: none !important;
}
header#siteHeader .brand:visited,
header .brand:visited,
.foot-brand .brand:visited,
.footer-logo:visited,
footer.site .brand:visited {
  color: #141B18 !important;
}
html,
body {
  max-width: 100% !important;
  overflow-x: clip !important;
}
@supports not (overflow-x: clip) {
  html,
  body { overflow-x: hidden !important; }
}
main,
section,
.wrap,
.foot-top,
.foot-cols,
.brand,
.navpill {
  min-width: 0 !important;
}
img,
svg,
iframe,
video {
  max-width: 100% !important;
}
@media (max-width: 760px) {
  header#siteHeader,
  header {
    padding: 10px 12px !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  header#siteHeader .brand,
  header .brand {
    color: #141B18 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 45vw !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: clamp(18px, 5vw, 21px) !important;
    line-height: 1 !important;
    gap: 7px !important;
  }
  header#siteHeader .brand .mark,
  header .brand .mark,
  header#siteHeader .brand img.mark,
  header .brand img.mark {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
    object-fit: contain !important;
    transform: none !important;
  }
  header#siteHeader .navpill,
  header .navpill {
    flex: 0 0 auto !important;
    max-width: 51vw !important;
    overflow: hidden !important;
    margin-left: auto !important;
  }
  header#siteHeader .navpill a:not(.cta),
  header .navpill a:not(.cta) {
    display: none !important;
  }
  header#siteHeader .navpill .cta,
  header .navpill .cta {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    padding: 8px 10px !important;
  }
  footer.site .foot-top,
  footer.site .foot-cols {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: 100% !important;
  }
  footer.site .foot-brand,
  footer.site .foot-cols,
  footer.site .foot-col {
    width: 100% !important;
    max-width: 100% !important;
  }
}
@media (max-width: 380px) {
  header#siteHeader,
  header {
    padding-left: 10px !important;
    padding-right: 10px !important;
    gap: 6px !important;
  }
  header#siteHeader .brand,
  header .brand {
    max-width: 44vw !important;
    font-size: 16.5px !important;
    gap: 5px !important;
  }
  header#siteHeader .brand .mark,
  header .brand .mark,
  header#siteHeader .brand img.mark,
  header .brand img.mark {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
  }
  header#siteHeader .navpill,
  header .navpill {
    max-width: 52vw !important;
  }
  header#siteHeader .navpill .cta,
  header .navpill .cta {
    font-size: 11px !important;
    padding: 7px 8px !important;
  }
}
