/* Shared finishing layer; the build also recolors the preserved page styles. */
:root{--jlp-brand-blue:#c7e4f4;--jlp-brand-pink:#f2ced6;--jlp-brand-cream:#fff8ef;--jlp-brand-mint:#c8dfd3;--jlp-brand-peach:#f3ba9b;--jlp-brand-ink:#29383e;--jlp-brand-sage:#355a55}
html body #jlp-draft-navigation#jlp-draft-navigation .jlp-brand{flex-basis:240px}
html body #jlp-draft-navigation#jlp-draft-navigation .jlp-brand img.jlp-logo-horizontal{filter:none!important;opacity:1!important;width:100%;height:auto;max-height:none;aspect-ratio:4/1;object-fit:cover;object-position:center}
html body #jlp-draft-footer .jlp-footer-brand>a:first-child:has(.jlp-logo-primary){background:var(--jlp-brand-cream);padding:14px;border-radius:18px}
html body #jlp-draft-footer#jlp-draft-footer .jlp-footer-brand img.jlp-logo-primary{filter:none!important;opacity:1!important;width:100%;height:auto;max-height:none}
@media(max-width:1100px){html body #jlp-draft-navigation#jlp-draft-navigation .jlp-brand{flex-basis:200px}}
@media(max-width:820px){html body #jlp-draft-navigation#jlp-draft-navigation .jlp-brand{flex-basis:190px}}
@media(max-width:430px){html body #jlp-draft-navigation#jlp-draft-navigation .jlp-brand{flex-basis:160px;min-width:120px}}
html body #jlp-draft-navigation#jlp-draft-navigation,
html body #jlp-draft-navigation#jlp-draft-navigation :is(.jlp-nav-submenu,.jlp-nav-panel){background:var(--jlp-brand-blue)!important;color:var(--jlp-brand-ink)!important;border-color:#76928f!important}
html body #jlp-draft-navigation#jlp-draft-navigation :is(a,summary,button,.jlp-nav-panel-title,.jlp-nav-panel-title span){color:var(--jlp-brand-ink)!important;-webkit-text-fill-color:var(--jlp-brand-ink)!important}
html body #jlp-draft-navigation#jlp-draft-navigation :is(a,summary,button):hover{background:#dcecf3!important}
html body #jlp-draft-navigation#jlp-draft-navigation .jlp-nav-contact{background:var(--jlp-brand-peach)!important;border-color:#476961!important;color:var(--jlp-brand-ink)!important;-webkit-text-fill-color:var(--jlp-brand-ink)!important}
html body #jlp-draft-navigation#jlp-draft-navigation .jlp-nav-contact:hover{background:#f9cfb7!important}
html body #jlp-draft-navigation#jlp-draft-navigation :is(a,summary,button):focus-visible{outline-color:#355a55!important}
/* Native Menu remains usable if scripts are blocked. Show its optional Close
   button only after the enhancement is ready, so there is never a dead control. */
#jlp-draft-navigation:not([data-navigation-ready]) .jlp-close-menu{display:none!important}
/* Peach invitations sit against the blue/mint/pink sections without a rust cast. */
html body [id^="article-"] :is(.alt-button,.james-cinema-button,.james-button,.mak-button,.faith-button,.overview-button--primary,.jl-btn):not(.ghost):not(.mak-button--light){background:var(--jlp-brand-peach)!important;border-color:#476961!important;color:var(--jlp-brand-ink)!important;-webkit-text-fill-color:var(--jlp-brand-ink)!important}
html body [id^="article-"] :is(.alt-button,.james-cinema-button,.james-button,.mak-button,.faith-button,.overview-button--primary,.jl-btn):not(.ghost):not(.mak-button--light):hover{background:#f9cfb7!important}
html body.page-id-12394 #article-12394 .alt-section.alt-texture{background-color:var(--jlp-brand-mint)!important}
html body.page-id-12394 #article-12394 .alt-section:has(.jlp-visual-resources){background-color:var(--jlp-brand-blue)!important}
html body.page-id-12394 #article-12394 .jlp-dream-transition{background:var(--jlp-brand-blue)!important}
html body #jlp-draft-footer,html body .copyright-footer,html body #jlp-instagram{background:var(--jlp-brand-sage)!important;color:var(--jlp-brand-cream)!important}
html body #jlp-instagram .jlp-instagram-follow{background:var(--jlp-brand-pink);border-color:var(--jlp-brand-pink);color:var(--jlp-brand-ink)}
/* No brief flash while the old decoration scripts finish mounting. */
.jlp-site-motion-control,.jlp-dream-motion,.jlp-motion-menu-control,.jlp-motion-footer-control{display:none!important}
/* The SVG keeps its slow sideways drift; each cloud shape gets a soft rebound.
   Anchoring the filled shape to its bottom prevents seams or layout movement. */
:is(.jlp-cloud-layer,.jlp-site-wave-layer)>path{
  transform-box:fill-box;
  transform-origin:50% 100%;
  animation:jlp-cloud-bounce 6.8s cubic-bezier(.45,0,.25,1) infinite;
}
:is(.jlp-cloud-layer-1,.jlp-site-wave-layer-1)>path{
  --jlp-cloud-lift:1.12;
  --jlp-cloud-rebound:1.035;
  animation-duration:7.2s;
  animation-delay:-1.2s;
}
:is(.jlp-cloud-layer-2,.jlp-site-wave-layer-2)>path{
  --jlp-cloud-lift:1.1;
  --jlp-cloud-rebound:1.03;
  animation-duration:6.4s;
  animation-delay:-3.6s;
}
:is(.jlp-cloud-layer-3,.jlp-site-wave-layer-3)>path{
  --jlp-cloud-lift:1.075;
  --jlp-cloud-rebound:1.02;
  animation-delay:-5.1s;
}
@keyframes jlp-cloud-bounce{
  0%,100%{transform:scaleY(1)}
  38%{transform:scaleY(var(--jlp-cloud-lift))}
  62%{transform:scaleY(.99)}
  78%{transform:scaleY(var(--jlp-cloud-rebound))}
}
@media(max-width:760px){
  :is(.jlp-cloud-layer,.jlp-site-wave-layer)>path{
    --jlp-cloud-lift:1.065;
    --jlp-cloud-rebound:1.015;
  }
}
@media(prefers-reduced-motion:reduce){
  :is(.jlp-cloud-layer,.jlp-site-wave-layer)>path{
    animation:none!important;
    transform:none!important;
  }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
