/* Background artwork stays outside layout flow. */
.graphic-bg{position:relative;isolation:isolate;overflow:hidden}.graphic-bg:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--card-graphic);background-repeat:no-repeat;background-position:right bottom;background-size:min(75%,280px) auto;opacity:.12}.graphic-bg:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,#fffaf0ed 5%,#fffaf080 60%,transparent)}
.graphic-bg-calendar{--card-graphic:url("assets/illustrations/calendar.svg")}
.graphic-bg-bridal{--card-graphic:url("assets/illustrations/bridal.svg")}
.graphic-bg-celebration{--card-graphic:url("assets/illustrations/celebration.svg")}
.graphic-bg-checklist{--card-graphic:url("assets/illustrations/checklist.svg")}
.graphic-bg-design{--card-graphic:url("assets/illustrations/design.svg")}
.graphic-bg-comparison{--card-graphic:url("assets/illustrations/comparison.svg")}
.graphic-bg-aftercare{--card-graphic:url("assets/illustrations/aftercare.svg")}
.graphic-bg-location{--card-graphic:url("assets/illustrations/location.svg")}
.graphic-bg:nth-child(3n+2):before{background-position:right top;transform:rotate(-8deg) scale(1.1)}.graphic-bg:nth-child(3n):before{background-position:left bottom}.graphic-bg:hover:before{opacity:.2;transition:opacity .3s}.area-card:before{background-size:110px auto}.floral-bloom{position:fixed;width:92px;height:92px;transform:translate(-50%,-50%);z-index:500;pointer-events:none}.floral-bloom i{position:absolute;left:36px;top:18px;width:20px;height:39px;background:var(--petal);border-radius:80% 20% 80% 20%;transform-origin:10px 28px;transform:rotate(var(--angle));opacity:0;animation:petal-bloom .85s ease-out forwards}.floral-bloom:after{content:'';position:absolute;inset:20px;border:1px solid #b99155;border-radius:50%;animation:bloom-ring .8s ease-out forwards}.graphic-card-link{cursor:pointer}.graphic-card-link:focus-visible{outline:3px solid #b08a47;outline-offset:3px}@keyframes petal-bloom{0%{opacity:0;scale:.3}25%{opacity:.65}100%{opacity:0;scale:1.65}}@keyframes bloom-ring{from{transform:scale(.3);opacity:.7}to{transform:scale(2);opacity:0}}.about-moments{padding:60px 0;background:#f4eee3}.about-moments h2{font-size:clamp(32px,4vw,48px)}.about-moments-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.about-moments figure{margin:0;background:#fffdf7;border-radius:12px;overflow:hidden;border:1px solid #e1d5be}.about-moments img{width:100%;height:auto;object-fit:contain}.about-moments figcaption{padding:16px 20px;font-size:13px;color:#456257}.about-moments figure:first-child{grid-row:span 2}.about-moments figure:last-child{grid-column:1/-1;max-width:850px;width:100%;margin:auto}@media(max-width:700px){.about-moments-grid{grid-template-columns:1fr;gap:20px}.about-moments figure:first-child{grid-row:auto}.about-moments figure:last-child{grid-column:auto}.graphic-bg:before{background-size:75% auto;opacity:.1}}@media(prefers-reduced-motion:reduce){.floral-bloom{display:none}.graphic-bg:before{transition:none}}
