/* Ceep's nemophila identity: blue petals, diffused daylight, generous breathing room. */
html:root {
  --ceep-ink: #245478;
  --ceep-blue: #509dce;
  --ceep-mist: #f2faff;
  --ceep-line: #c2e4f3;
  --font-color: var(--ceep-ink);
  --font-desc-color: #4c658d;
  --canvas-color: var(--ceep-mist);
  --base-color: #f9fcfd;
  --base-lighter-color: #fff;
  --font-bg-color: #d0e3ed;
  --border-color: #6c91a6;
  --color-border: var(--ceep-line);
  --color-border-light: #d6e6ed;
  --color-link: #476bb0;
  --secondary-color: #a8d6eb;
  --tertiary-color: #e6f2f8;
  --color-grad-light: #e6f3f8;
  --color-grad-dark: #a5cfe4;
}
html { background: var(--ceep-mist); }
body .bContainer {
  background: radial-gradient(ellipse at 85% 0, #d7ecf6 0, transparent 40rem),
    radial-gradient(ellipse at 0 40rem, #e2eff4 0, transparent 50rem), #f4f9fb;
}
::selection { color: #24465d; background: #bce1f3; }
body a:focus-visible, body button:focus-visible { outline: 2px solid #397698; outline-offset: 5px; }
/* ABOUT US shares the existing fixed WebGL field. The next section brings in a pale surface. */
body .topLayers { border-radius: 0; }
body .topLayers_bg { opacity: 0; }
body #topWelcome { position: relative; color: #24465d; }
body #topWelcome::before {
  content: ''; position: absolute; inset: -10rem 0 -5rem; pointer-events: none;
  background: linear-gradient(180deg, transparent, #f0f8fc80 24%, #f0f8fc9c 75%, transparent);
}
body #topWelcome .sectionInner { position: relative; }
body #topWelcome .commonLinkBtn .circle { stroke: currentColor; }
body #topMenus, body #topWorks, body #topTopics { position: relative; }
body .services-slider .slide { color: var(--ceep-ink); }
body .services-slider .imgWrap { filter: none; }
body .topLayers .menuTitle_copy { color: #729db5; }
/* All page surfaces share the field's daylight palette. Artwork keeps its own colors. */
body .ceep-spatial {
  color: var(--ceep-ink);
  background: radial-gradient(ellipse at 75% 20%, #fff 0, transparent 45%),
    radial-gradient(ellipse at 20% 75%, #c8e4f2 0, transparent 55%), #e5f1f7;
}
body .ceep-spatial__filters a { color: #365e76; background: #f3faffd9; }
body .ceep-spatial__filters a[aria-current], body .ceep-spatial__filters a:hover {
  color: #fff; background: #397698;
}
body .ceep-spatial-toggle, body .ceep-spatial__focus, body .ceep-spatial__footer {
  color: var(--ceep-ink); background: #f3faffdf; border-color: var(--ceep-line);
}
body .studioInfo dl { background: #ffffff94; border: 1px solid #caddE6; }
body .studioInfo dd { color: var(--font-desc-color); }
body .studioInfo dd a { color: var(--color-link); }
body #formBody input:not([type='submit']):not([type='checkbox']):not([type='radio']),
body #formBody textarea, body #formBody select {
  color: var(--ceep-ink); background: #ffffffb8; border-color: #9fbdce;
}
body #formBody input::placeholder, body #formBody textarea::placeholder { color: #687f8d; }
body .gHeaderModal_bg { background: linear-gradient(145deg, #456f88, #23495e); }
/* Close the journey in the same living field, using the same C optics on phones. */
body .flower-footer {
  --ivory: #294d62; --studio-black: #f4faff;
  color: var(--ceep-ink); background: #ddf1f9; overflow: hidden;
  height: 100svh; min-height: 700px;
}
body .flower-footer::before { display: none; }
.flower-footer__field { position: absolute; inset: 0; width: 100%; height: 100%; }
body .flower-footer__wash {
  display: block; z-index: 2; pointer-events: none;
  background: linear-gradient(180deg, #eff8fc00, #eff8fc99 48%, #eff8fc55);
}
body .flower-footer__company p, body .flower-footer__company > small { color: #35596e; }
body .flower-footer__company { font-size: clamp(12px, .95vw, 15px); gap: 16px; }
body .flower-footer__company strong { font-size: clamp(15px, 1.15vw, 19px); }
body .flower-footer__company > small { font-size: 11px; }
body .flower-footer__meta { top: 38%; }
body .flower-footer__talk-arrow { color: #fff; background: #397698; }
body .flower-footer.is-talk-hover .flower-footer__talk-arrow,
body .flower-footer__talk-link:focus-visible .flower-footer__talk-arrow { background: #2b617f; }
body .flower-footer__talk-link:focus-visible { outline-color: #397698; }
@media (max-width: 767px) {
  body .flower-footer { min-height: 680px; }
  body .flower-footer__company { max-width: 65%; gap: 12px; }
  body .flower-footer__meta { top: 35%; gap: 16px; }
  body .flower-footer__company strong small { display: block; margin-top: 4px; }
}
body .topMenu_intro .animChar_front { color: #7a9aad; }
body .services-slider .captionWrapper { color: #fff; }
body .services-slider .imgWrap { filter: brightness(.7); }
body .formIntro p { color: var(--font-desc-color); }
body .formIntro p a { color: var(--color-link); }
/* Stable ink navigation on pale surfaces; retain white navigation over the hero/menu. */
body #globalHeader:is(.isBlend, .isPaleField):not(:has(.gHumb.isActive)) {
  --color-white: #294d62; mix-blend-mode: normal;
}
body #globalHeader:is(.isBlend, .isPaleField):not(:has(.gHumb.isActive)) .gHumb_body { mix-blend-mode: normal; }
body #globalHeader:is(.isBlend, .isPaleField):not(:has(.gHumb.isActive)) .gHeader_logoInner img { filter: brightness(0) saturate(100%) invert(26%) sepia(20%) saturate(1000%) hue-rotate(159deg); }
body #globalHeader:is(.isBlend, .isPaleField):not(:has(.gHumb.isActive)) .gHumb_body.ctr .gHumb_cls { background: #dceef7; }
body #globalHeader:is(.isBlend, .isPaleField):not(:has(.gHumb.isActive)) .gHumb_body.ctr .pickupMenu_text { color: #294d62; }

/* The footer now occupies its own section instead of a fixed dark reveal layer. */
body #globalWrapper { padding-bottom: 0; }
body .topLayers_bg::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at 80% 20%, #ffffff8c, transparent 60%);
}

body .gHeaderModal.isActive { z-index: 90; }
body #globalHeader:has(.gHumb.isActive) { --color-white: #fff; mix-blend-mode: normal; }
body #globalHeader:has(.gHumb.isActive) .gHumb_body { mix-blend-mode: normal; }
body #globalHeader:has(.gHumb.isActive) .gHeader_logo { filter: none !important; }
body #globalHeader:has(.gHumb.isActive) .gHeader_logoInner img { filter: brightness(0) invert(1); }
body #globalHeader:has(.gHumb.isActive) .gHumb_body.ctr .gHumb_cls { background: #dceef7; }
body #globalHeader:has(.gHumb.isActive) .gHumb_body.ctr .pickupMenu_text { color: #294d62; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  body .flower-footer__talk-link:hover .flower-footer__talk-marquee { transform: translate3d(0, -10px, 0); }
  body .flower-footer__talk-link:hover .flower-footer__talk-arrow { background: #2b617f; transform: translate3d(8px, -8px, 0) scale(1.06); }
}

/* Nemophila + shore: clear blue light; dawn pink is an interface accent only. */
html:root { --ceep-petal: #9fd5f2; --ceep-dawn: #f6c6d6; }
body .bContainer { isolation: isolate; }
.ceep-shore-surface { position: fixed; inset: 0; z-index: -1; pointer-events: none; }
.ceep-shore-canvas { display: block; position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
body .topLayers_bg .ceep-shore-canvas { z-index: 1; }
body #topWelcome::before { background: linear-gradient(180deg,transparent,#69add080 24%,#509bc59c 75%,transparent); }
body .flower-footer__wash { background: linear-gradient(180deg,#438bb000,#438bb088 48%,#438bb055); }
