/* Reversible /app-only refinement. Static light fields preserve the continuous
   canvas and never introduce a WebGL loop, scroll handler or new divider. */
html:root[data-vz-infra-theme="pearl"] body .main-wrapper > section:is(#services,#metrics,#about,#process,#contact,#journal,#faq) {
  position:relative;
  isolation:isolate;
}
html:root[data-vz-infra-theme="pearl"] body .main-wrapper > section:is(#services,#metrics,#about,#process,#contact,#journal,#faq)::after {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:clamp(220px,28vw,360px);
  pointer-events:none;
  z-index:-1;
  background:radial-gradient(ellipse 58% 90% at 12% 40%,#79b6e933,transparent 78%),radial-gradient(ellipse 55% 90% at 88% 55%,#e5b8cc38,transparent 78%);
  mask-image:linear-gradient(transparent,#000 26%,#000 58%,transparent);
}
/* The existing glass primitive supplies the FAQ label, matching Contact. */
html:root[data-vz-infra-theme="pearl"] body #faq .vz-faq-label { display:flex;justify-content:center;margin-bottom:24px; }
html:root[data-vz-infra-theme="pearl"] body #faq .vz-faq-label .ml-optical-button { min-height:38px;padding:8px 18px!important;font-size:13px!important; }
html:root[data-vz-infra-theme="pearl"] body #faq .vk-faq-glass { background:#ffffff70; }
html:root[data-vz-infra-theme="pearl"] body #faq .vk-faq-item>button { min-height:64px;gap:18px;text-align:left; }
html:root[data-vz-infra-theme="pearl"] body #faq .vk-faq-item>button[aria-expanded="true"] { color:#253b35; }
html:root[data-vz-infra-theme="pearl"] body #faq .vk-faq-answer { overflow:hidden; }
html:root[data-vz-infra-theme="pearl"] body #faq .vk-faq-answer>p {
  background:#fffffff2;
  color:#414c47!important;
  border-radius:14px;
  margin:0 12px 16px;
  padding:20px 22px;
  font-size:15px;
  line-height:1.75;
  max-width:75ch;
}
/* Place the globe at the privacy-note level, with only its upper hemisphere
   emerging from the base. Small screens put it after the form in normal flow. */
html:root[data-vz-infra-theme="pearl"] body #contact .vz-contact-grid { position:relative; }
html:root[data-vz-infra-theme="pearl"] body #contact .vz-contact-orbit {
  position:relative;
  grid-column:1/-1;
  height:180px;
  overflow:hidden;
  pointer-events:none;
  mask-image:linear-gradient(transparent,#000 15%,#000 70%,transparent);
}
html:root[data-vz-infra-theme="pearl"] body #contact .vz-contact-orbit-globe { position:absolute;top:0;left:50%;width:min(100%,560px);aspect-ratio:1;transform:translateX(-50%); }
html:root[data-vz-infra-theme="pearl"] body #contact .vz-contact-orbit svg { display:block;width:100%;height:auto; }
html:root[data-vz-infra-theme="pearl"] body #contact .vz-contact-privacy { line-height:1.7; }
html:root[data-vz-infra-theme="pearl"] body #contact .vz-contact-privacy a { text-decoration:underline;text-underline-offset:3px; }
html:root[data-vz-infra-theme="pearl"] body #contact .vz-contact-globe a:not(.ml-optical-button) { min-height:44px; }
html:root[data-vz-infra-theme="pearl"] body #contact :is(input,textarea):focus { border-color:#657a70!important;box-shadow:0 0 0 3px #657a701f!important; }
@media(min-width:1024px) {
  html:root[data-vz-infra-theme="pearl"] body #contact .vz-contact-orbit { position:absolute;top:calc(100% - 84px);left:0;width:calc(50% - 20px);height:160px; }
}
/* Clueso-inspired blue/coral/violet light around original article media.
   Text resolves to white; images stay untinted and retain their actual topics. */
html:root[data-vz-infra-theme="pearl"] body #journal .bac-article {
  --journal-blue:#3394f366;
  --journal-coral:#f377b273;
  --journal-violet:#a998e966;
  position:relative;
  isolation:isolate;
  padding:16px;
  border:0;
  border-radius:24px;
  background:linear-gradient(180deg,transparent,#ffffffc9 48%,#fff 66%),radial-gradient(ellipse at 0% 0%,var(--journal-blue),transparent 65%),radial-gradient(ellipse at 100% 18%,var(--journal-coral),transparent 65%),linear-gradient(130deg,#e7eafa,var(--journal-violet) 45%,#fff);
  box-shadow:0 5px 20px #27354209;
}
html:root[data-vz-infra-theme="pearl"] body #journal .bac-article:nth-child(2) { --journal-blue:#85b5e95c;--journal-coral:#efaa886b;--journal-violet:#b4a8ef70; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-article:nth-child(3) { --journal-blue:#73b8cb5c;--journal-coral:#edb5c573;--journal-violet:#8f9ee766; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-article::before { content:"";position:absolute;inset:0;z-index:-1;background:url('/media/premium-grain.png') repeat;opacity:.035;pointer-events:none;border-radius:inherit; }
html:root[data-vz-infra-theme="pearl"] body #journal :is(.bac-media-wrap,.bac-media-inner) { background:transparent;border-radius:16px; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-media-inner { overflow:hidden; }
html:root[data-vz-infra-theme="pearl"] body #journal :is(.bac-notch-left,.bac-notch-top) { display:none; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-notch { width:auto;height:auto;right:12px;bottom:12px;background:transparent; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-arrow-btn { width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;background:#fff;color:#232725; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-arrow-btn:hover { background:#232725;color:#fff; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-content { padding:22px 6px 8px; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-card-title { font-size:clamp(22px,2vw,27px);line-height:1.25; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-card-desc { margin-bottom:22px; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-tag { background:#eef0ed;color:#414c47;letter-spacing:.015em; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-article:focus-within { outline:2px solid #657a70;outline-offset:4px; }
@media(max-width:767px) {
  html:root[data-vz-infra-theme="pearl"] body #contact :is(input,textarea) { font-size:16px; }
  html:root[data-vz-infra-theme="pearl"] body #faq .vk-faq-answer>p { margin-inline:4px;padding:16px;font-size:15px; }
  html:root[data-vz-infra-theme="pearl"] body #journal .bac-article { padding:12px;border-radius:20px; }
}
@media(prefers-reduced-transparency:reduce) {
  html:root[data-vz-infra-theme="pearl"] body #faq .vk-faq-glass { background:#f1f3ef;backdrop-filter:none; }
}
/* Keep the article action inside its image; the old absolute inset assumed
   a 96px cutout and otherwise pushed the 44px control outside the card. */
html:root[data-vz-infra-theme="pearl"] body #journal .bac-notch { width:44px;height:44px;border-radius:50%; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-arrow-btn { inset:0; }
html:root[data-vz-infra-theme="pearl"] body #contact label { color:#606862!important; }
html:root[data-vz-infra-theme="pearl"] body #journal .bac-title span { color:#727b75; }
/* Keep chapter names on one line while the island changes width. */
html:root[data-vz-infra-theme="pearl"] body #vuzuran-dynamic-island[data-mode="compact"] .vzdi-compact-label-wrap,
html:root[data-vz-infra-theme="pearl"] body #vuzuran-dynamic-island[data-mode="compact"] .vzdi-compact-label {
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  min-width:0;
}
