.flow{isolation:isolate;background:var(--color-night);color:var(--color-cream);padding:6.5rem 0 3rem;position:relative;overflow:hidden}.flow__backdrop{z-index:-1;height:min(44rem,95vh);position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 35%,#0000);mask-image:linear-gradient(#000 35%,#0000)}.flow__backdrop .flow__backdrop-img{object-fit:cover;object-position:70% 30%;opacity:.55;width:100%;height:100%}.flow .flow-spark{color:var(--color-gold);opacity:.8;position:absolute}.flow .flow-spark--1{top:9rem;left:7%}.flow .flow-spark--2{top:16rem;right:9%}.flow .flow-spark--3{top:26rem;left:12%}.flow__inner{max-width:46rem;margin:0 auto;padding-inline:1rem;position:relative}@media (width>=60em){.flow{padding-top:8rem;padding-bottom:3.5rem}}.flow-hero{text-align:center;margin-bottom:clamp(1.1rem,.8rem + 1.5vw,1.75rem)}.flow-title{font-family:var(--font-script);color:var(--color-cream);text-shadow:0 3px 16px #0000008c;margin:0;font-size:clamp(2.5rem,1.9rem + 3.5vw,4.4rem);font-weight:700;line-height:.95}.flow-title__accent{color:var(--color-gold);display:block}.flow-lead{text-shadow:0 2px 8px #000000b3;max-width:34rem;margin:.7rem auto 0;font-size:clamp(1rem,.95rem + .3vw,1.1rem)}.flow-lead strong{color:var(--color-gold)}.parchment{color:var(--color-night);background:radial-gradient(at 15% 10%,#ffffffa6,#0000 55%),radial-gradient(at 90% 95%,#d6ba8259,#0000 50%),#f6eed9;border:1px solid #d9b66f8c;border-radius:1.25rem;padding:clamp(1.15rem,.7rem + 2.8vw,2.5rem);position:relative;box-shadow:0 22px 50px #00000073,inset 0 0 70px #aa824633}.parchment+.parchment{margin-top:1.25rem}.parchment--holly:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 14C9.5 13 7 10.5 6 6.5c1.2.6 2.4.4 3-.6.3 1.3 1.4 2 2.7 1.8-.9 1-.8 2.4.3 3.2-1 .5-1.1 1.9 0 3.1Z' fill='%232f6b3a'/%3E%3Cpath d='M12 14c2.5-1 5-3.5 6-7.5-1.2.6-2.4.4-3-.6-.3 1.3-1.4 2-2.7 1.8.9 1 .8 2.4-.3 3.2 1 .5 1.1 1.9 0 3.1Z' fill='%23245a30'/%3E%3Ccircle cx='10.4' cy='15.4' r='1.8' fill='%23b8323b'/%3E%3Ccircle cx='13.6' cy='15.4' r='1.8' fill='%23b8323b'/%3E%3Ccircle cx='12' cy='17.9' r='1.8' fill='%239c2830'/%3E%3C/svg%3E") 50%/contain no-repeat;width:3rem;height:3rem;position:absolute;top:-.9rem;left:-.6rem;transform:rotate(-18deg)}.parchment__title,.parchment__greeting{font-family:var(--font-script);color:var(--color-night);margin:0 0 .75rem;font-size:clamp(1.8rem,1.5rem + 1.2vw,2.4rem);font-weight:700;line-height:1.05}.parchment p{margin:0 0 1rem}.parchment__text{color:var(--color-text-muted)}.field{gap:.35rem;margin-bottom:1rem;display:grid}.field__label{font-size:.95rem;font-weight:600}.input{width:100%;font:inherit;color:var(--color-night);background:#ffffffc7;border:1px solid #17365d38;border-radius:.75rem;padding:.8rem .95rem}.input::placeholder{color:#6b7488}.input:focus-visible{outline:3px solid var(--color-gold);outline-offset:1px;border-color:var(--color-deep-blue)}.input[aria-invalid=true]{border-color:var(--color-red)}textarea.input{resize:vertical;background-color:#ffffffc7;background-image:repeating-linear-gradient(#0000 0 1.82rem,#17365d17 1.82rem 1.9rem),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:local;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:11.5rem;padding-top:.45rem;line-height:1.9rem}textarea.input--short{min-height:4rem}.field__meta{color:var(--color-text-muted);justify-content:space-between;gap:1rem;margin:0;font-size:.8rem;display:flex}.field__meta>span:last-child:not(:first-child){white-space:nowrap;flex-shrink:0}.field__count--over{color:var(--color-red-dark);font-weight:600}.field__error{color:var(--color-red-dark);margin:0;font-size:.85rem;font-weight:600}.checkbox{cursor:pointer;grid-template-columns:1.25rem 1fr;align-items:start;gap:.7rem;margin-bottom:.6rem;padding:.35rem 0;font-size:.92rem;line-height:1.45;display:grid}.checkbox input:focus-visible{outline:3px solid var(--color-gold);outline-offset:2px}.checkbox input{width:1.2rem;height:1.2rem;accent-color:var(--color-red);margin:.15rem 0 0}.parchment a:not(.btn){color:var(--color-red-dark);font-weight:600}.notice{border-radius:.75rem;align-items:flex-start;gap:.6rem;margin:0 0 1rem;padding:.85rem 1rem;font-size:.92rem;line-height:1.45;display:flex}.notice svg{flex-shrink:0;margin-top:.1rem}.notice--info{color:var(--color-night);background:#17365d12}.notice--error{color:#7d1f26;background:#fbe7e8;border:1px solid #e8b4b8}.notice--success{color:#1f4d2c;background:#e7f3ea;border:1px solid #b5d6bd}.btn--secondary{color:var(--color-night);border:1.5px solid var(--color-gold);cursor:pointer;background:#ffffffa6}.btn--secondary:hover{background:#fff}button.btn{cursor:pointer;border:0}button.btn.btn--secondary{border:1.5px solid var(--color-gold)}button.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}button.btn[aria-busy=true]{cursor:progress}.btn--secondary:focus-visible{outline:3px solid var(--color-gold);outline-offset:2px}@media (width<=30em){.flow-actions--stack .btn{width:100%}}.flow-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.25rem;display:flex}.flow-figure{border:1px solid #d9b66f73;border-radius:1.25rem;margin:0 0 1.25rem;overflow:hidden;box-shadow:0 18px 40px #00000073}.flow-figure img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;display:block}.flow-figure--compact img{aspect-ratio:16/9;max-height:11.5rem}@media (width>=40em){.flow-figure--compact img{aspect-ratio:2;max-height:18rem}}.flow-figure--banner img{aspect-ratio:auto;height:clamp(9.5rem,7.5rem + 9vw,15rem)}.pill{background:var(--color-cream);color:var(--color-night);border-radius:999px;margin-top:.6rem;padding:.5rem 1.4rem;font-weight:600;display:inline-block;box-shadow:0 6px 18px #0000004d}.tips{gap:.75rem;margin:0 0 1.25rem;padding:0;list-style:none;display:grid}.tip{background:#fff9;border-radius:1rem;align-items:center;gap:.85rem;padding:.85rem 1rem;font-size:.92rem;line-height:1.4;display:flex}@media (width>=40em){.tips--row{grid-template-columns:repeat(3,1fr)}.tips--row .tip{text-align:center;flex-direction:column}}.parchment .medallion--sm{width:2.75rem;height:2.75rem}.family-note{color:var(--color-text-muted);border-top:1px dashed #17365d40;gap:.6rem;margin:1.25rem 0 0;padding-top:1rem;font-size:.85rem;display:flex}.family-note svg{flex-shrink:0;margin-top:.1rem}@media (prefers-reduced-motion:no-preference){.flow-enter{animation:.45s ease-out both flow-enter}}@keyframes flow-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
