/* Original, readable diagrams of the three commitments behind Ingressible. */
.mission-flow { margin: 2rem 0 0; --mission-blue:#24487e; --mission-purple:#563568; --mission-green:#28523f; }
.mission-flow__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin:0; padding:0; list-style:none; }
.mission-flow__step { position:relative; min-width:0; padding:1.5rem; border:1px solid rgba(103,69,129,.18); border-radius:2rem 2rem 2rem .65rem; background:linear-gradient(155deg,#f8faff,#edf1fd); color:#261923; box-shadow:0 18px 40px -30px rgba(49,94,168,.4); }
.mission-flow__step:nth-child(2) { background:linear-gradient(155deg,#fff9fc,#f5e6f1); border-radius:2rem .65rem 2rem 2rem; }
.mission-flow__step:nth-child(3) { background:linear-gradient(155deg,#f6fcf8,#e4f2e9); }
.mission-flow__step:not(:last-child)::after { content:""; position:absolute; top:8rem; right:-1.65rem; width:1.1rem; height:1.1rem; border-top:2px solid #a8aad4; border-right:2px solid #a8aad4; transform:rotate(45deg); }
.mission-flow__number { display:inline-grid; place-items:center; width:2.1rem; height:2.1rem; border:1px solid currentColor; border-radius:50%; color:#24487e; font:600 .8rem/1 var(--type-functional); }
.mission-flow__step:nth-child(2) .mission-flow__number { color:#563568; }
.mission-flow__step:nth-child(3) .mission-flow__number { color:#28523f; }
.mission-flow__scene { display:block; width:100%; height:auto; aspect-ratio:320/220; margin:.5rem auto 1rem; overflow:visible; }
body .mission-flow h3 { margin:0 0 .65rem; font:600 clamp(1.8rem,3vw,2.3rem)/1.1 var(--type-editorial); color:#24487e; }
body .mission-flow__step:nth-child(2) h3 { color:#563568; }
body .mission-flow__step:nth-child(3) h3 { color:#28523f; }
:is(body.ing-public,body.ing-page--consultation) .mission-flow p { color:#4c394e; margin:0; line-height:1.65; font-size:.95rem; }
:is(body.ing-public,body.ing-page--consultation) .mission-flow .mission-flow__question { margin:0 0 .85rem; font:500 1.45rem/1.25 var(--type-editorial); color:#261923; }
.mission-flow figcaption { margin:1.25rem auto 0; max-width:72ch; font-size:.85rem; line-height:1.6; text-align:center; color:var(--text-secondary); }
.ing-door-story .mission-flow figcaption { color:var(--text-on-accent); }
.mission-flow--compact .mission-flow__step { padding:1.25rem; }
.mission-flow--compact .mission-flow__scene { max-width:12rem; }
body .mission-flow--compact h3 { font-size:1.75rem; }
.mission-section__head { text-align:center; max-width:48rem; margin:0 auto 2.5rem; }
body .mission-section__head h2 { margin-bottom:1.25rem; font-size:var(--type-section); }
.mission-section__head p { margin-inline:auto; }
.mission-matrix { margin:0; border:1px solid var(--border-subtle); border-radius:2rem; overflow:hidden; background:var(--surface-raised); }
.mission-matrix__legend,.mission-matrix__row { display:grid; grid-template-columns:1.05fr repeat(3,minmax(0,1fr)); gap:1.25rem; padding:1.5rem; }
.mission-matrix__legend { background:linear-gradient(110deg,#e8eefc,#f5e5ef,#e2f0e7); color:#261923; font-weight:700; }
.mission-matrix__row + .mission-matrix__row { border-top:1px solid var(--border-subtle); }
.mission-matrix__service { min-width:0; }
.mission-matrix__icon { width:2.5rem; height:2.5rem; margin-bottom:1rem; color:#24487e; }
body .mission-matrix h3 { font:600 1.6rem/1.2 var(--type-editorial); margin:0; }
body .mission-matrix p { font-size:.95rem; line-height:1.65; margin:0; min-width:0; }
.mission-matrix__label { display:none; }
.mission-matrix figcaption { border-top:1px solid var(--border-subtle); padding:1.25rem 1.5rem; font-size:.85rem; line-height:1.6; color:var(--text-secondary); }
.mission-brief { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.5rem 0 0; }
.mission-brief > div { padding:1rem; border-left:2px solid #bac8e8; background:rgba(255,255,255,.6); border-radius:0 .75rem .75rem 0; }
.mission-brief > div:nth-child(2) { border-color:#d3b4dd; }
.mission-brief > div:nth-child(3) { border-color:#a7d6c7; }
.mission-brief dt { font-family:var(--type-editorial); font-size:1.4rem; font-weight:600; color:#24487e; margin-bottom:.4rem; }
.mission-brief > div:nth-child(2) dt { color:#563568; }
.mission-brief > div:nth-child(3) dt { color:#28523f; }
.mission-brief dd { margin:0; font-size:.9rem; line-height:1.6; color:#4c394e; }
body .site-footer__brand .mission-signature { font:600 .8rem/1.6 var(--type-functional); letter-spacing:.035em; margin:.8rem 0 0; color:var(--text-secondary); }
body .site-footer__foot .mission-signature { margin-top:.75rem; }
html[data-motion="vivid"] .mission-flow__scene { animation:mission-arrive .7s var(--motion-ease-enter) both; }
html[data-motion="vivid"] .mission-flow__step:nth-child(2) .mission-flow__scene { animation-delay:.1s; }
html[data-motion="vivid"] .mission-flow__step:nth-child(3) .mission-flow__scene { animation-delay:.2s; }
@keyframes mission-arrive { from { opacity:.3; transform:translateY(.6rem); } to { opacity:1; transform:none; } }
html[data-motion="reduced"] .mission-flow__scene { animation:none; }
@media(prefers-reduced-motion:reduce) { .mission-flow__scene { animation:none !important; } }
@media(max-width:960px) {
  .mission-flow__steps { grid-template-columns:1fr; gap:2rem; }
  .mission-flow__step { padding:1.25rem; }
  .mission-flow__scene { max-width:17rem; }
  .mission-flow__step:not(:last-child)::after { top:auto; right:auto; bottom:-1.55rem; left:calc(50% - .5rem); transform:rotate(135deg); }
  .mission-matrix__legend { display:none; }
  .mission-matrix__row { grid-template-columns:1fr; gap:1rem; }
  .mission-matrix__service { display:flex; align-items:center; gap:1rem; }
  .mission-matrix__icon { flex-shrink:0; margin:0; }
  .mission-matrix__label { display:block; font-family:var(--type-editorial); font-size:1.35rem; margin-bottom:.35rem; color:#24487e; }
  .mission-matrix__row p:nth-of-type(2) .mission-matrix__label { color:#563568; }
  .mission-matrix__row p:nth-of-type(3) .mission-matrix__label { color:#28523f; }
  .mission-brief { grid-template-columns:1fr; gap:.65rem; }
}
@media(forced-colors:active) {
  .mission-flow__step,.mission-matrix,.mission-matrix__row,.mission-brief > div { border:1px solid CanvasText; background:Canvas; }
  body .mission-flow :is(h3,p),body .mission-matrix__label,.mission-brief :is(dt,dd) { color:CanvasText; }
}
/* The mission remains readable while its key words receive a gentle accent. */
.mission-word { position:relative; display:inline-block; padding:0 .12em; border-radius:.18em; color:#24487e; background:#e7efff; }
.mission-word--capability { color:#563568; background:#f4e7f6; }
.mission-word--belong { color:#28523f; background:#e4f2e9; }
@media(forced-colors:active) { .mission-word { color:CanvasText; background:Canvas; } }
/* Iridescent pixie lettering: readable dark pigment with fine glitter flecks. */
.mission-word { --pixie-ink:#24487e; --pixie-fleck:#553868; background-color:transparent; }
.mission-word--capability { --pixie-ink:#563568; --pixie-fleck:#713050; }
.mission-word--belong { --pixie-ink:#28523f; --pixie-fleck:#304a69; }
@supports(background-clip:text) {
  .mission-word { background-image:radial-gradient(circle,var(--pixie-fleck) .65px,transparent 1.3px),linear-gradient(100deg,var(--pixie-ink) 15%,var(--pixie-fleck) 45%,var(--pixie-ink) 70%); background-size:5px 5px,200% 100%; background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
}
.mission-word::before { content:"✦"; position:absolute; left:45%; top:-.5em; font-size:.38em; line-height:1; color:var(--pixie-ink); -webkit-text-fill-color:var(--pixie-ink); text-shadow:-2.1em .6em 0 #9c648f,2.6em .45em 0 #6a84b5; opacity:.55; pointer-events:none; }
html[data-motion="vivid"] .mission-phrase.is-in-view .mission-word { animation:mission-pixie-ink 4.8s ease-in-out both; }
html[data-motion="vivid"] .mission-phrase.is-in-view .mission-word::before { animation:mission-pixie-dust 4.8s ease-in-out both; }
html[data-motion="vivid"] .mission-phrase.is-in-view .mission-word--capability,html[data-motion="vivid"] .mission-phrase.is-in-view .mission-word--capability::before { animation-delay:.2s; }
html[data-motion="vivid"] .mission-phrase.is-in-view .mission-word--belong,html[data-motion="vivid"] .mission-phrase.is-in-view .mission-word--belong::before { animation-delay:.4s; }
@keyframes mission-pixie-ink { 0% { background-position:0 0,0 50%; } 50% { background-position:2px -1px,100% 50%; } 100% { background-position:0 0,0 50%; } }
@keyframes mission-pixie-dust { 0%,100% { opacity:.55; transform:translate(0,0) scale(.9); } 30% { opacity:.8; transform:translate(.5em,-.18em) scale(1.1); } 65% { opacity:.4; transform:translate(-.5em,.1em) scale(.85); } }
html[data-motion="reduced"] .mission-word,html[data-motion="reduced"] .mission-word::before { animation:none !important; }
@media(prefers-reduced-motion:reduce) { .mission-word,.mission-word::before { animation:none !important; } }
@media(forced-colors:active) { .mission-word { background-image:none; color:CanvasText; -webkit-text-fill-color:CanvasText; } .mission-word::before { display:none; } }
/* Decorative dust is a shape, so screen readers do not announce a star glyph. */
.mission-word::before { content:""; width:.36em; height:.36em; font-size:inherit; top:-.18em; background:var(--pixie-fleck); clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); text-shadow:none; }
/* A living halo around the supplied mark, with an adjacent pause control. */
.mission-brand-emblem { position:relative; display:grid; place-items:center; width:min(100%,30rem); isolation:isolate; }
.mission-brand-emblem .ing-brand-art__logo { position:relative; z-index:1; width:100%; transform-origin:center; }
.mission-brand-aura { position:absolute; z-index:-1; inset:13%; border-radius:50%; background:conic-gradient(from 0deg,transparent,#d1dfff66,transparent,#efd0e666,transparent,#ceeadd66,transparent); filter:blur(22px); opacity:.7; }
.mission-brand-sparkles { position:absolute; inset:4%; z-index:2; pointer-events:none; }
.mission-brand-sparkles i { position:absolute; width:.65rem; height:.65rem; left:15%; top:30%; background:#8981c7; opacity:.55; clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); }
.mission-brand-sparkles i:nth-child(2) { left:77%; top:17%; width:.45rem; height:.45rem; background:#bb799f; }
.mission-brand-sparkles i:nth-child(3) { left:89%; top:65%; background:#638eae; }
.mission-brand-sparkles i:nth-child(4) { left:22%; top:81%; width:.45rem; height:.45rem; background:#638879; }
.mission-brand-sparkles i:nth-child(5) { left:50%; top:9%; width:.4rem; height:.4rem; background:#b28853; }
html[data-motion="vivid"] .mission-brand-emblem:not(.is-paused) .ing-brand-art__logo { animation:mission-brand-float 8s ease-in-out infinite; }
html[data-motion="vivid"] .mission-brand-emblem:not(.is-paused) .mission-brand-aura { animation:mission-brand-halo 20s linear infinite; }
html[data-motion="vivid"] .mission-brand-emblem:not(.is-paused) .mission-brand-sparkles i { animation:mission-brand-sparkle 6s ease-in-out infinite; }
html[data-motion="vivid"] .mission-brand-emblem:not(.is-paused) .mission-brand-sparkles i:nth-child(2) { animation-delay:-2s; }
html[data-motion="vivid"] .mission-brand-emblem:not(.is-paused) .mission-brand-sparkles i:nth-child(3) { animation-delay:-4s; }
html[data-motion="vivid"] .mission-brand-emblem:not(.is-paused) .mission-brand-sparkles i:nth-child(4) { animation-delay:-1s; }
@keyframes mission-brand-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@keyframes mission-brand-halo { to { transform:rotate(360deg); } }
@keyframes mission-brand-sparkle { 0%,100% { opacity:.3; transform:translateY(0) scale(.8); } 50% { opacity:.8; transform:translateY(-7px) scale(1.15); } }
.mission-brand-emblem.is-paused :is(.ing-brand-art__logo,.mission-brand-aura,.mission-brand-sparkles i) { animation:none !important; }
.mission-brand-motion { border:1px solid var(--border-subtle); border-radius:2rem; padding:.5rem .9rem; background:var(--surface-raised); color:var(--text-primary); font:500 .8rem/1.4 var(--type-functional); cursor:pointer; min-height:36px; }
.mission-brand-motion:focus-visible { outline:2px solid #24487e; outline-offset:4px; }
.mission-brand-motion[hidden],html[data-motion="reduced"] .mission-brand-motion { display:none; }
html[data-motion="reduced"] .mission-brand-emblem :is(.ing-brand-art__logo,.mission-brand-aura,.mission-brand-sparkles i) { animation:none !important; }
@media(prefers-reduced-motion:reduce) { .mission-brand-emblem :is(.ing-brand-art__logo,.mission-brand-aura,.mission-brand-sparkles i) { animation:none !important; } .mission-brand-motion { display:none; } }
@media(max-width:760px) { .mission-brand-emblem { width:min(100%,24rem); } }
@media(forced-colors:active) { .mission-brand-aura,.mission-brand-sparkles { display:none; } }
/* Each sentence has one readable line; container sizing preserves the layout. */
.mission-sentence { display:block; white-space:nowrap; }
.ing-name-hero__copy,.mission-flow__step,.mission-brief > div,.mission-section__head,.site-footer__brand,.ix-mission > .ing-shell { container-type:inline-size; }
body .ing-name-hero__belief { font-size:clamp(1.05rem,6.6cqi,2.3rem); }
body .mission-flow h3 { font-size:clamp(1rem,6.9cqi,2rem); }
body .mission-flow--compact h3 { font-size:clamp(1rem,6.9cqi,1.75rem); }
.mission-brief dt { font-size:clamp(1rem,6.9cqi,1.4rem); }
body #mission-title,body #mission-method-title { font-size:clamp(1rem,5.6cqi,2.7rem); }
.mission-matrix__legend .mission-phrase { font-size:.9rem; }
body .site-footer__brand .mission-signature { font-size:clamp(.85rem,5cqi,.95rem); line-height:1.8; }
body .ing-name-hero__belief,body #mission-title,body #mission-method-title { max-width:none; width:100%; }

.ing-cta .ing-shell { container-type:inline-size; }
body .ing-cta h2.mission-phrase { max-width:none; width:100%; font-size:clamp(1rem,6.6cqi,2.7rem); }

/* Always-visible explanations are part of the graphic, not hidden alternatives. */
:is(body.ing-public,body.ing-page--consultation) .mission-flow .mission-flow__description { margin-top:1.25rem; padding-top:1rem; border-top:1px solid currentColor; font-size:1rem; line-height:1.6; color:#4c394e; text-align:left; }
.mission-flow__description strong { display:block; margin-bottom:.3rem; }
body .graphic-description { display:block; max-width:68ch; margin:1rem auto 0; font:400 1rem/1.6 var(--type-functional); color:var(--text-secondary); }
body .ing-band__art { margin:0; }
body .ing-band__art .graphic-description { text-align:center; }
body .ing-brand-art figcaption .graphic-description { white-space:normal; max-width:42ch; font-size:1rem; }
body .mission-flow figcaption,body .mission-matrix figcaption { font-size:1rem; line-height:1.6; }
body .mission-flow__description,body .mission-flow figcaption { text-wrap:pretty; }
/* User text overrides must take precedence over ornamental one-line lettering. */
.mission-sentence { white-space:normal; }
@media(forced-colors:active) { body .graphic-description,:is(body.ing-public,body.ing-page--consultation) .mission-flow .mission-flow__description { color:CanvasText; } }
