/* WeddingOS — organic top-down scroll vines with cream roses. */
.wos-scroll-vines{
  position:fixed;
  inset:0;
  z-index:7;
  pointer-events:none;
  overflow:hidden;
  opacity:.76;
}
.wos-scroll-vine{
  position:absolute;
  top:0;
  bottom:0;
  width:clamp(82px,8vw,126px);
  height:100vh;
  overflow:visible;
}
.wos-scroll-vine.is-left{left:0}
.wos-scroll-vine.is-right{right:0;transform:scaleX(-1)}
.wos-vine-stem,.wos-vine-branch,.wos-vine-leaf-vein{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.wos-vine-stem,.wos-vine-branch{
  stroke:#66785f;
  stroke-dasharray:1;
  stroke-dashoffset:1;
}
.wos-vine-stem{stroke-width:2.15}
.wos-vine-branch{stroke-width:1.3;opacity:.84}
.wos-vine-node{
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  transform:scale(.34) rotate(-8deg);
  transition:opacity .38s ease,transform .72s cubic-bezier(.16,.8,.25,1.12);
}
.wos-vine-node.is-visible{opacity:1;transform:scale(1) rotate(0deg)}
.wos-vine-leaf{fill:#7f9278;stroke:#60735b;stroke-width:.45;vector-effect:non-scaling-stroke}
.wos-vine-leaf.alt{fill:#a6b29c}
.wos-vine-leaf-vein{stroke:#5f735b;stroke-width:.5;opacity:.62}

/* Rose: layered irregular petals + a visible center spiral, not a daisy. */
.wos-vine-rose{filter:drop-shadow(0 4px 7px rgba(85,82,64,.12))}
.wos-vine-rose .petal{vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center}
.wos-vine-rose .petal.outer{fill:#f3ead8;stroke:#cfbfa0;stroke-width:.48}
.wos-vine-rose .petal.outer.shade{fill:#eadfc9}
.wos-vine-rose .petal.middle{fill:#f7f0e2;stroke:#cdbd9d;stroke-width:.42}
.wos-vine-rose .petal.middle.shade{fill:#efe4cf}
.wos-vine-rose .petal.heart{fill:#fbf5e8;stroke:#c5b28d;stroke-width:.46}
.wos-rose-swirl{fill:none;stroke:#a98d5b;stroke-width:1.15;stroke-linecap:round;vector-effect:non-scaling-stroke}
.wos-vine-rose:not(.is-visible){transform:scale(.12) rotate(-24deg)}
.wos-vine-rose.is-visible{animation:wos-rose-bloom .9s cubic-bezier(.18,.76,.22,1.15) both}
@keyframes wos-rose-bloom{
  0%{opacity:0;transform:scale(.12) rotate(-24deg)}
  58%{opacity:1;transform:scale(1.08) rotate(3deg)}
  100%{opacity:1;transform:scale(1) rotate(0deg)}
}

@media(max-width:820px){
  .wos-scroll-vines{opacity:.62}
  .wos-scroll-vine{width:62px}
  .wos-vine-stem{stroke-width:1.75}
  .wos-vine-branch{stroke-width:1.05}
}
@media(max-width:480px){
  .wos-scroll-vines{opacity:.56}
  .wos-scroll-vine{width:50px}
}
@media(prefers-reduced-motion:reduce){
  .wos-vine-node{transition:none!important;animation:none!important}
}
