/* Shared lapis relief: the printed honeycomb, lit from the upper left.
   All existing content surfaces, wrapper masks and carousel rules stay intact. */
body{
  isolation:isolate;
  background-color:#10264c !important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-color:#10264c;
  /* A quiet centre protects white copy; the relief remains stronger at the
     edges. No filters, animation or script are needed to render the field. */
  background-image:
     radial-gradient(ellipse at 50% 42%,rgba(8,21,46,.76) 0%,rgba(8,21,46,.48) 35%,rgba(8,21,46,.08) 74%,rgba(8,21,46,.02) 100%),
    url("./lapis-honeycomb-relief.svg");
  background-size:100% 100%,1440px 998px;
  background-position:center,center top;
  background-repeat:no-repeat,repeat;
}
@media (max-width:767px){
  body::before{
    /* Smaller cells, not a squeezed desktop image. The dark veil keeps
       metallic accents decorative beside narrow-column content. */
    background-image:
       linear-gradient(90deg,rgba(8,21,46,.18),rgba(8,21,46,.67) 45%,rgba(8,21,46,.48)),
      url("./lapis-honeycomb-relief.svg");
    background-size:100% 100%,1080px 748.5px;
    background-position:center,-27px top;
  }
}
/* Replace the old section-level lattices with one continuous background. */
body section:not(.cta-band),
body .hero,
body .hero-inner,
body footer{
  background:transparent !important;
}
body section.block::before,
body section.cta::before,
body section:not(.cta-band)::before,
body .hex-field{
  display:none;
}
/* Blur only the decorative background, never text, photos or controls.
   Replace the old noise overlay with a soft central reading area. */
html body::after{
  content:"";
  position:fixed;
  inset:-18px;
  z-index:-1;
  pointer-events:none;
  opacity:1;
  background:
    linear-gradient(rgba(7,19,42,.56),rgba(7,19,42,.56)),
    url("./lapis-honeycomb-relief.svg") center top / 1440px 998px repeat;
  filter:blur(18px);
  -webkit-mask-image:radial-gradient(ellipse 65% 110% at 50% 48%,#000 0%,rgba(0,0,0,.96) 20%,rgba(0,0,0,.82) 40%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.24) 80%,transparent 100%);
  mask-image:radial-gradient(ellipse 65% 110% at 50% 48%,#000 0%,rgba(0,0,0,.96) 20%,rgba(0,0,0,.82) 40%,rgba(0,0,0,.55) 60%,rgba(0,0,0,.24) 80%,transparent 100%);
}
@media(max-width:767px){
  html body::after{
    background:
      linear-gradient(rgba(7,19,42,.66),rgba(7,19,42,.66)),
      url("./lapis-honeycomb-relief.svg") -9px top / 1080px 748.5px repeat;
    -webkit-mask-image:radial-gradient(ellipse 85% 120% at 50% 48%,#000 0%,rgba(0,0,0,.97) 20%,rgba(0,0,0,.85) 40%,rgba(0,0,0,.6) 60%,rgba(0,0,0,.3) 80%,transparent 100%);
    mask-image:radial-gradient(ellipse 85% 120% at 50% 48%,#000 0%,rgba(0,0,0,.97) 20%,rgba(0,0,0,.85) 40%,rgba(0,0,0,.6) 60%,rgba(0,0,0,.3) 80%,transparent 100%);
  }
}
/* Crisp, high-contrast lettering; preserve gold accents and button colors. */
body .hero h1,
body .block-head h2,
body .cta h2,
body .hero-inner h1,
body .section-head h2{
  color:#fff;
  font-weight:800;
  letter-spacing:-.02em;
  text-shadow:0 2px 4px rgba(0,0,0,.8);
}
body .hero .sub,
body .block-head p,
body .hero-inner p.lede,
body .section-head p,
body .dark .section-head p,
body .cta p,
body .state-detail p,
body .state-detail b{
  color:#fff;
  font-weight:600;
  line-height:1.7;
  text-shadow:0 1px 3px rgba(0,0,0,.8);
}
body .hero .sub,
body .block-head p,
body .hero-inner p.lede,
body .section-head p{font-size:clamp(1.08rem,1.4vw,1.2rem)}
body .hero .why-card p,
body .hero .why-card li{color:#fff;font-weight:500}
body .sectionbar a{
  gap:.55rem;
  color:#f5f6fa;
  font-weight:800;
  letter-spacing:.055em;
  text-shadow:0 1px 2px rgba(3,11,27,.9);
}
body .sectionbar a.active{color:var(--gold)}
body .sectionbar a:hover{color:#fffdf7}
body .sectionbar a:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:-4px;
}
.sectionbar .section-icon{
  width:18px;height:18px;flex:none;display:block;
  fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 2px 0 rgba(3,11,27,.85));
}
/* Legible panel and comparison copy, without embossed text shadows. */
body :is(.info-card,.step-card,.d-card,.pillar-cell,.entry,.state-detail) p,
body :is(.flip,.trade-item,.why-card) li{
  color:#f4f6fc;
  font-size:1rem;
  font-weight:500;
  line-height:1.65;
  text-shadow:none;
}
body :is(.info-card,.step-card,.d-card,.entry) :is(h3,h4){
  font-weight:750;
  line-height:1.35;
  letter-spacing:0;
  text-shadow:none;
}
body :is(.opt,.pref){
  font-size:1rem;
  font-weight:600;
  line-height:1.45;
  letter-spacing:0;
  text-shadow:none;
}
body #contactForm label{color:#fff;font-size:1rem;font-weight:650}
body #contactForm :is(input,textarea,select){
  font-size:1rem;
  font-weight:500;
  line-height:1.5;
  color:#fff;
  background:#14213b;
  border-color:#718099;
}
body #contactForm :is(input,textarea)::placeholder{color:#c4cede;opacity:1}
body :is(.dossier-meta,.dossier-note,.snap-count,.snap-shell .count){
  color:#dce4f2;
  font-size:.875rem;
  line-height:1.6;
}