.t-cherry-blossom{--f-display:"Cormorant Garamond", "Times New Roman", serif;--f-script:"Parisienne", "Pinyon Script", cursive;--f-serif:"Cormorant Garamond", "Times New Roman", serif;--f-caps:"Cormorant Garamond", "Times New Roman", serif;--f-body:"Cormorant Garamond", "Times New Roman", serif;--cb-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .35 0 0 0 0 .35 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");font-size:1.05rem}.t-cherry-blossom .cb-art{pointer-events:none;display:block;overflow:visible}.t-cherry-blossom .cb-kicker,.t-cherry-blossom .eyebrow{font-family:var(--f-caps);letter-spacing:.36em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:600}.t-cherry-blossom .cb-names{font-family:var(--f-script);color:var(--primary);overflow-wrap:anywhere;margin:0;font-weight:400;line-height:1;display:grid}.t-cherry-blossom .cb-amp{font-family:var(--f-display);color:var(--accent);font-size:.5em;font-style:italic;line-height:1.3}.t-cherry-blossom .cb-petals{pointer-events:none;position:absolute;inset:0;overflow:hidden}.t-cherry-blossom .cb-page-petals{z-index:5;position:fixed}.t-cherry-blossom .cb-petals i{background:linear-gradient(135deg, var(--cb-petal-light), var(--cb-petal) 55%, var(--cb-petal-deep));opacity:.85;width:13px;height:10px;transform:rotate(var(--r)) scale(var(--s));will-change:transform;border-radius:0 100%;animation:linear infinite cb-fall;position:absolute}@keyframes cb-fall{0%{transform:translate(-20px, -60vh) rotate(var(--r)) scale(var(--s));opacity:0}12%{opacity:.9}50%{transform:translate(34px, 0) rotate(calc(var(--r) + 160deg)) scale(var(--s))}88%{opacity:.9}to{transform:translate(-12px, 60vh) rotate(calc(var(--r) + 340deg)) scale(var(--s));opacity:0}}.t-cherry-blossom .cover{min-height:var(--vh,100svh);background:var(--cb-grain), radial-gradient(ellipse 70% 40% at 15% 8%, color-mix(in srgb, var(--cb-petal-light) 70%, transparent), transparent 70%), radial-gradient(ellipse 60% 35% at 100% 100%, color-mix(in srgb, var(--cb-petal-light) 60%, transparent), transparent 70%), linear-gradient(180deg, var(--paper-light), var(--paper));justify-content:center;display:flex;position:relative;overflow:hidden;container-type:inline-size}.t-cherry-blossom .cb-cover__branch{transform-origin:0 20%;width:470px;animation:1.6s cubic-bezier(.2,.8,.2,1) both cb-sway-in;position:absolute;top:-16px;left:-40px}@keyframes cb-sway-in{0%{opacity:0;transform:rotate(-5deg)translate(-20px)}}.t-cherry-blossom .cb-cover__twig{width:182px;animation:1.4s .8s both inv-fade;position:absolute;bottom:-30px;right:-26px;transform:scaleX(-1)}.t-cherry-blossom .cb-cover__content{z-index:1;text-align:center;width:min(420px,100%);padding:214px 22px 92px;animation:1.2s .3s both inv-rise;position:relative}.t-cherry-blossom .cb-cover__content .cb-names{margin:.5rem 0 .9rem;font-size:3.5rem}.t-cherry-blossom .cb-cover__date{border-block:1px solid color-mix(in srgb, var(--primary) 30%, transparent);gap:2px;width:min(250px,100%);margin:0 auto 1rem;padding:.5rem 0;display:grid}.t-cherry-blossom .cb-cover__date span{letter-spacing:.32em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.t-cherry-blossom .cb-cover__date strong{color:var(--primary-deep);font-size:1.25rem;font-weight:600}.t-cherry-blossom .cb-cover__intro,.t-cherry-blossom .cb-cover__after{color:var(--muted);margin:0;font-size:1.1rem;font-style:italic}.t-cherry-blossom .cb-cover__guest{font-family:var(--f-script);color:var(--primary-deep);margin:.2rem 0;font-size:2rem;line-height:1.3}.t-cherry-blossom .cb-cover__open{margin-top:1.2rem}@container (width>=700px){.t-cherry-blossom .cb-cover__branch{width:620px;left:-30px}.t-cherry-blossom .cb-cover__twig{width:260px}.t-cherry-blossom .cb-cover__content{padding-top:150px}}.t-cherry-blossom .btn{font-family:var(--f-caps);letter-spacing:.24em;text-transform:uppercase;padding:.85rem 1.9rem;font-size:.8rem;font-weight:700}.t-cherry-blossom .btn--dark,.t-cherry-blossom .card>.btn--light{color:var(--light);background:linear-gradient(135deg, var(--primary-soft), var(--primary));box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 32%, transparent)}.t-cherry-blossom .cb-hero{text-align:center;padding:26px 0 46px;position:relative}.t-cherry-blossom .cb-hero__scene{margin-top:14px;position:relative}.t-cherry-blossom .cb-hero__branch{transform-origin:0 20%;width:calc(100% + 68px);max-width:760px;animation:1.6s cubic-bezier(.2,.8,.2,1) both cb-sway-in;position:absolute;top:0;left:-34px}.t-cherry-blossom .cb-hero__kicker{animation:1s .4s both inv-fade;position:relative}.t-cherry-blossom .cb-hero__stage{z-index:1;margin-top:clamp(110px,30vw,200px);position:relative}.t-cherry-blossom .cb-hero__photo{width:min(280px,70%);box-shadow:0 22px 44px color-mix(in srgb, var(--primary-deep) 26%, transparent), 0 2px 6px #00000014;background:#fff;margin:0 5% 0 auto;padding:10px 10px 12px;animation:1.3s cubic-bezier(.2,.8,.2,1) .4s both cb-photo;transform:rotate(5deg)}@keyframes cb-photo{0%{opacity:0;transform:rotate(-4deg)translateY(30px)}}.t-cherry-blossom .cb-hero__photo img{aspect-ratio:4/5;object-fit:cover;width:100%}.t-cherry-blossom .cb-hero__twig{width:min(220px,56%);animation:1.4s 1.2s both inv-fade;position:absolute;bottom:-34px;left:-20px}.t-cherry-blossom .cb-hero__names{margin-top:2.8rem;font-size:clamp(3.2rem,14vw,4.6rem)}.t-cherry-blossom .cb-hero__full{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:.8rem 0 .6rem;font-size:.8rem;font-weight:600}.t-cherry-blossom .cb-hero__date{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);justify-content:center;align-items:center;gap:1rem;margin:0;font-size:.78rem;font-weight:600;display:flex}.t-cherry-blossom .cb-hero__date strong{border-inline:1px solid color-mix(in srgb, var(--primary) 40%, transparent);letter-spacing:.06em;color:var(--primary);padding:.2rem 1rem;font-size:1.5rem;font-weight:500}.t-cherry-blossom .card{isolation:isolate;color:var(--ink);background:radial-gradient(ellipse 80% 40% at 50% 0%, color-mix(in srgb, var(--cb-petal-light) 55%, transparent), transparent 70%), var(--paper-light);border:1px solid color-mix(in srgb, var(--primary) 30%, transparent);box-shadow:0 20px 44px color-mix(in srgb, var(--primary) 14%, transparent);border-radius:6px;padding-top:48px}.t-cherry-blossom .card:before{content:"";border:1px solid color-mix(in srgb, var(--primary) 18%, transparent);pointer-events:none;border-radius:3px;position:absolute;inset:8px}.t-cherry-blossom .cb-carddecor{z-index:2;width:150px;position:absolute;top:-30px}.t-cherry-blossom .cb-carddecor--right{right:-30px;transform:scaleX(-1)}.t-cherry-blossom .cb-carddecor--left{left:-30px}.t-cherry-blossom .cb-carddecor--low{top:auto;bottom:-26px;transform:scaleX(-1)scaleY(-1)}.t-cherry-blossom .card__title,.t-cherry-blossom .section-title{font-family:var(--f-script);letter-spacing:0;text-transform:none;color:var(--primary);margin:0 0 1rem;font-size:2.5rem;font-weight:400;line-height:1.15}.t-cherry-blossom .families__label{color:var(--muted);opacity:1;font-weight:700}.t-cherry-blossom .families__name{font-size:1.05rem}.t-cherry-blossom .families__side+.families__side{border-left-color:color-mix(in srgb, var(--primary) 30%, transparent)}.t-cherry-blossom .card__story{opacity:1;color:var(--muted);font-size:1.12rem;font-style:italic}.t-cherry-blossom .card__lead{letter-spacing:.14em;color:var(--muted);font-size:1rem;font-weight:600}.t-cherry-blossom .card__person{font-family:var(--f-display);color:var(--primary-deep);font-size:clamp(1.7rem,7vw,2.2rem);font-weight:500}.t-cherry-blossom .card__role{color:var(--muted);opacity:1;font-weight:700}.t-cherry-blossom .card__amp{color:var(--accent);font-size:2.6rem}.t-cherry-blossom .card__venue{font-size:1.15rem}.t-cherry-blossom .card__venue strong{color:var(--primary-deep);font-weight:700}.t-cherry-blossom .dateblock__top,.t-cherry-blossom .dateblock__my,.t-cherry-blossom .card__times-label,.t-cherry-blossom .countdown__label{color:var(--muted);opacity:1;font-weight:700}.t-cherry-blossom .dateblock__day{width:82px;height:82px;font-family:var(--f-display);color:var(--primary);background:radial-gradient(circle, var(--paper-light) 55%, color-mix(in srgb, var(--cb-petal-light) 80%, transparent));box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 35%, transparent), 0 0 0 6px var(--paper-light), 0 0 0 7px color-mix(in srgb, var(--primary) 18%, transparent);border-radius:50%;place-items:center;font-size:2.9rem;font-weight:500;display:grid}.t-cherry-blossom .dateblock__rule{background:var(--primary);opacity:.35}.t-cherry-blossom .card__times-value{color:var(--primary-deep);font-size:1.3rem;font-weight:600}.t-cherry-blossom .countdown__title{font-family:var(--f-script);color:var(--primary);opacity:1;font-size:1.7rem}.t-cherry-blossom .countdown__unit{border:1px solid color-mix(in srgb, var(--primary) 25%, transparent);background:radial-gradient(circle at 40% 35%, var(--paper-light), var(--cb-petal-light));border-radius:50%;align-content:center;width:62px;min-width:0;height:62px;padding:0}.t-cherry-blossom .countdown__value{color:var(--primary-deep);font-size:1.5rem;font-weight:600}.t-cherry-blossom .countdown__done{font-family:var(--f-script);color:var(--primary)}.t-cherry-blossom .calendar{background:var(--paper-light);border:1px solid color-mix(in srgb, var(--primary) 22%, transparent);box-shadow:0 10px 24px color-mix(in srgb, var(--primary) 12%, transparent)}.t-cherry-blossom .calendar__title{color:var(--primary);border-bottom:1px solid color-mix(in srgb, var(--primary) 30%, transparent);font-size:2rem}.t-cherry-blossom .calendar__grid{font-size:.82rem;font-weight:600}.t-cherry-blossom .calendar__heart{color:var(--cb-petal-deep)}.t-cherry-blossom .addcal .link-btn{color:var(--primary);font-weight:700}.t-cherry-blossom .schedule__icon,.t-cherry-blossom .schedule__dot{color:var(--primary)}.t-cherry-blossom .schedule__time{color:var(--primary-deep);font-size:1.15rem;font-weight:700}.t-cherry-blossom .schedule__label{font-size:1.15rem;font-style:italic}.t-cherry-blossom .gallery__slide{box-shadow:0 16px 34px color-mix(in srgb, var(--primary-deep) 26%, transparent);border:6px solid #fff;border-radius:2px}.t-cherry-blossom .gallery__nav{background:color-mix(in srgb, var(--primary) 80%, transparent)}.t-cherry-blossom .gallery__dots button.is-active{background:var(--primary)}.t-cherry-blossom .venue__name{color:var(--primary-deep);font-size:1.35rem;font-weight:600}.t-cherry-blossom .venue__map{box-shadow:0 16px 32px color-mix(in srgb, var(--primary) 18%, transparent);border:6px solid #fff;border-radius:4px;transform:rotate(-1deg)}.t-cherry-blossom .venue__directions{letter-spacing:.18em;text-transform:uppercase;font-size:.8rem}.t-cherry-blossom .dress__names{font-size:1.2rem;font-style:italic}.t-cherry-blossom .dress__swatch{width:44px;height:44px;box-shadow:0 6px 14px color-mix(in srgb, var(--primary) 22%, transparent);border-radius:0 50% 50%;transform:rotate(45deg)}.t-cherry-blossom .closing__note{font-size:1.15rem;font-style:italic}.t-cherry-blossom .closing__rsvp{letter-spacing:.2em;color:var(--muted);font-weight:700}.t-cherry-blossom .closing__mark{color:var(--primary);font-size:2.4rem}.t-cherry-blossom .music{background:linear-gradient(135deg, var(--primary-soft), var(--primary))}.t-cherry-blossom .modal__box h2{font-family:var(--f-script);font-size:2.2rem}@media (width<=520px){.t-cherry-blossom .cb-carddecor{width:124px}}@media (prefers-reduced-motion:reduce){.t-cherry-blossom .cb-petals i{animation:none}}
