:root{color:#000;background:#fff;--ink: #000000;--white: #ffffff;--lavender: #ddd9e8;--sage: #cdd8c4;--blush: #f3d8cd;--sky: #d9e6eb;--butter: #f6edb8;--cream: #ffffff;--story-burgundy: #9c6064;--font-script: "Great Vibes", "Cormorant Garamond", Georgia, serif;--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Lora", Georgia, "Times New Roman", serif;font-family:var(--font-body);font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}main{min-height:100vh;overflow:hidden;background:linear-gradient(rgba(0,0,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.035) 1px,transparent 1px),var(--cream);background-size:44px 44px}.hero{position:relative;display:grid;min-height:100vh;min-height:100svh;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#ffffff70,#ffffff38 42%,#ffffff57),url(/assets/tea-picnic-bridge-backdrop.png) center / cover no-repeat,var(--white)}.hero:before{position:absolute;inset:0;z-index:-2;content:"";background:radial-gradient(ellipse at 50% 36%,rgba(255,255,255,.72),transparent 34%),radial-gradient(ellipse at 20% 22%,rgba(221,217,232,.16),transparent 24%),radial-gradient(ellipse at 82% 28%,rgba(246,237,184,.18),transparent 25%),linear-gradient(90deg,rgba(243,216,205,.26),transparent 14%,transparent 86%,rgba(243,216,205,.26));-webkit-backdrop-filter:saturate(.88);backdrop-filter:saturate(.88)}.hero:after{position:absolute;inset:16px;z-index:-1;content:"";background:linear-gradient(90deg,rgba(255,255,255,.18),transparent 18%,transparent 82%,rgba(255,255,255,.18)),repeating-radial-gradient(circle at 50% 100%,transparent 0 22px,rgba(221,217,232,.12) 23px 24px,transparent 25px 46px);border:1px solid var(--blush);border-radius:22px;box-shadow:inset 0 0 0 6px #ffffff57,inset 0 -18px 36px #cdd8c429}.topNav{position:absolute;top:18px;left:50%;z-index:4;display:flex;gap:6px;align-items:center;padding:6px;color:var(--ink);background:#ffffffdb;border:1px solid var(--blush);border-radius:999px;box-shadow:0 12px 32px #0000001f;transform:translate(-50%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topNav a,.topNav button{display:grid;min-width:86px;min-height:36px;padding:7px 15px;place-items:center;color:inherit;background:transparent;border:0;border-radius:999px;cursor:pointer;font-family:var(--font-body);font-size:.86rem;font-weight:700}.topNav a:hover,.topNav button:hover{background:#ffffffbf}.heroContent{position:relative;z-index:2;display:grid;width:min(980px,calc(100% - 40px));margin:auto;padding:104px 0 118px;justify-items:center;text-align:center;opacity:0;transform:translateY(24px) scale(.98);animation:revealContent 1375ms cubic-bezier(.2,.8,.2,1) 2565ms forwards}.heroContent:before{position:absolute;inset:8% 5% 4%;z-index:-1;content:"";background:radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.88),rgba(255,255,255,.46) 42%,transparent 72%);filter:blur(14px);pointer-events:none}.heroLogo{width:clamp(112px,18vw,176px);height:auto;margin:0 0 13px;filter:drop-shadow(0 18px 22px rgba(0,0,0,.12))}.eyebrow,.sectionKicker{margin:0;color:var(--ink);font-size:.76rem;font-weight:700;letter-spacing:0;text-transform:uppercase;font-family:var(--font-body)}.hero .eyebrow{text-shadow:0 1px 0 rgba(255,255,255,.9),0 5px 14px rgba(255,255,255,.72)}.heroName{display:inline-flex;gap:clamp(.45rem,1.8vw,1.35rem);align-items:baseline;justify-content:center;max-width:100%;margin:14px 0 0;color:#000000c7;text-shadow:0 1px 0 rgba(255,255,255,.9),0 7px 22px rgba(255,255,255,.62);font-family:var(--font-script);font-size:clamp(3.8rem,7.4vw,6.9rem);font-style:normal;font-weight:400;line-height:.92;white-space:nowrap}.heroInitials{font-family:var(--font-script);font-size:.78em;font-style:normal;font-weight:400}.heroAmp{font-family:var(--font-script);font-size:.74em;font-style:normal;font-weight:400}.heroScript{font-family:var(--font-script);font-size:1em;font-style:normal;font-weight:400}.subtitle{width:min(550px,100%);margin:20px 0 0;color:var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.82),0 5px 14px rgba(255,255,255,.7);font-family:var(--font-body);font-size:clamp(1.16rem,2.7vw,1.85rem);line-height:1.12}.primaryAction,.submitRsvp,.linkButton{display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:46px;padding:0 20px;color:var(--ink);background:var(--sage);border:0;border-radius:999px;box-shadow:0 14px 24px #0000001f;font-family:var(--font-body);font-weight:700}.primaryAction{margin-top:28px;cursor:pointer}.scrollRail{position:absolute;right:18px;bottom:18px;left:18px;z-index:2;display:flex;gap:14px;align-items:center;min-height:56px;color:var(--ink);opacity:0;transform:translateY(12px);animation:revealContent 1s cubic-bezier(.2,.8,.2,1) 3125ms forwards}.scrollRail:before,.scrollRail:after{flex:1;height:1px;content:"";background:linear-gradient(90deg,transparent,var(--butter))}.scrollRail:after{background:linear-gradient(90deg,var(--butter),transparent)}.scrollRail span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;background:#ffffffc7;border:1px solid var(--butter);border-radius:999px;box-shadow:0 8px 20px #0000001a;font-size:.72rem;font-weight:700;text-transform:uppercase}.scrollRail svg{flex:0 0 auto;margin-top:-2px;animation:railNudge 1.4s ease-in-out 4s infinite}.linkButton{width:fit-content;margin-top:18px;background:var(--blush)}.opening{position:absolute;inset:0;z-index:3;pointer-events:none}.stageGlow{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.96),transparent 24rem),linear-gradient(180deg,#f3d8cd59,#d9e6eb3d);opacity:.78;animation:glowLift 2125ms ease-out 1815ms forwards}.valance{position:absolute;top:-2vh;left:-3vw;right:-3vw;display:grid;grid-template-columns:repeat(5,1fr);height:24vh;filter:drop-shadow(0 24px 30px rgba(0,0,0,.12));transform-origin:top center;animation:valanceRise 1625ms cubic-bezier(.75,0,.25,1) 1.56s forwards}.valance span{background:radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.38),transparent 48%),linear-gradient(135deg,#dca8a9,#f0c6c4 58%,#f6d7ce);border-bottom-right-radius:48% 32%;border-bottom-left-radius:48% 32%;box-shadow:inset 0 -1px #0000001f}.curtain{position:absolute;top:-3vh;bottom:-6vh;width:55vw;overflow:hidden;background:linear-gradient(90deg,rgba(150,84,90,.2),transparent 12%,transparent 88%,rgba(150,84,90,.18)),linear-gradient(135deg,#d99fa4,#f1c3c1 52%,#f6d8d0);box-shadow:0 0 34px #0000001f}.curtain:before{position:absolute;inset:0;content:"";background:repeating-linear-gradient(90deg,transparent 0 52px,rgba(135,76,82,.1) 54px,transparent 61px),linear-gradient(180deg,rgba(255,255,255,.18),transparent 28%,rgba(143,82,88,.08));opacity:.72}.curtain:after{position:absolute;inset:8% 11%;content:"";border:1px solid rgba(136,72,80,.15);border-top:0;border-radius:0 0 42% 42%;opacity:.6}.curtainLeft{left:-3vw;border-bottom-right-radius:52% 14%;transform-origin:left center;animation:openLeft 2.44s cubic-bezier(.78,0,.2,1) 1025ms forwards}.curtainRight{right:-3vw;border-bottom-left-radius:52% 14%;transform-origin:right center;animation:openRight 2.44s cubic-bezier(.78,0,.2,1) 1025ms forwards}.curtainFold{position:absolute;top:0;bottom:0;z-index:1;width:22%;background:linear-gradient(90deg,rgba(255,255,255,.25),transparent 46%,rgba(139,76,82,.08)),radial-gradient(ellipse at 50% 46%,rgba(255,255,255,.14),transparent 52%);border-radius:50%;opacity:.62}.foldA{left:8%}.foldB{left:38%}.foldC{right:6%}.curtainBird{position:absolute;top:42%;z-index:5;width:clamp(146px,20.4vw,279px);height:auto;filter:drop-shadow(0 12px 16px rgba(0,0,0,.12));opacity:.96;transform-origin:center}.birdLeft{left:45%;transform:translate(-70%,-50%) rotate(-7deg);animation:birdPullLeft 2.44s cubic-bezier(.78,0,.2,1) 1025ms forwards}.birdRight{right:45%;transform:translate(70%,-50%) rotate(7deg) scaleX(-1);animation:birdPullRight 2.44s cubic-bezier(.78,0,.2,1) 1025ms forwards}.centerSeal{position:absolute;top:50%;left:50%;display:grid;width:clamp(148px,24vw,248px);aspect-ratio:1;place-items:center;padding:clamp(12px,2vw,20px);background:#ffffffc7;border:1px solid var(--butter);border-radius:50%;box-shadow:0 22px 46px #0000002e;transform:translate(-50%,-50%);animation:sealPop 1315ms cubic-bezier(.6,-.25,.22,1.45) .7s forwards;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.centerSeal img{display:block;width:100%;height:auto}.guestDesk{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(340px,1.05fr);gap:22px;align-items:stretch;padding:clamp(22px,5vw,54px);background:linear-gradient(180deg,#ffffffb3,#ffffffdb),url(/assets/tea-picnic-bridge-backdrop.png) center / cover no-repeat,var(--cream)}.infoCard,.rsvpCard,.storyChapter,.shortSections article{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% -8%,rgba(243,216,205,.42),transparent 15rem),radial-gradient(ellipse at 0% 100%,rgba(217,230,235,.2),transparent 13rem),linear-gradient(180deg,#fffffffa,#fffffff7);border:1px solid var(--butter);border-radius:16px;box-shadow:0 24px 54px #0000001f,0 2px #ffffffd1 inset,0 0 0 7px #ffffff75 inset}.infoCard:before,.rsvpCard:before,.storyChapter:before,.shortSections article:before{position:absolute;inset:14px;z-index:0;content:"";border:1px solid var(--butter);border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff9e;pointer-events:none}.infoCard:after,.rsvpCard:after{position:absolute;right:clamp(16px,4vw,34px);bottom:clamp(14px,3vw,26px);z-index:0;width:clamp(118px,18vw,190px);aspect-ratio:1;content:"";background:url(/assets/rj-mistie-logo.png) center / contain no-repeat;opacity:.035;pointer-events:none}.infoCard>*,.rsvpCard>*,.storyChapter>*,.shortSections article>*{position:relative;z-index:1}.infoCard{min-height:100%;padding:clamp(30px,5vw,52px)}.rsvpCard{min-height:100%}.infoCard h2,.rsvpCard h2,.storyChapter h1,.shortSections h2{margin:7px 0 0;color:var(--ink);font-family:var(--font-display);font-size:clamp(1.8rem,3.6vw,3.2rem);font-weight:600;line-height:.98}.detailList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;padding-top:4px}.detailRow{display:grid;grid-template-columns:auto;gap:12px;align-items:start;min-height:172px;padding:18px;background:#f6edb894;border:1px solid var(--butter);border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff94}.detailRow:nth-child(2){background:#ddd9e894;border-color:var(--lavender)}.detailRow:nth-child(3){background:#cdd8c494;border-color:var(--sage)}.detailRow p{margin:0;color:var(--ink);font-size:.73rem;font-weight:700;text-transform:uppercase}.detailRow strong{display:block;margin-top:4px;font-family:var(--font-display);font-size:clamp(1.35rem,2.15vw,1.85rem);font-weight:600;line-height:1.05;font-variant-numeric:lining-nums proportional-nums}.detailRow span:last-child{display:block;margin-top:4px;font-family:var(--font-display);font-size:clamp(1.05rem,1.45vw,1.22rem);font-weight:500;line-height:1.18;font-variant-numeric:lining-nums proportional-nums}.detailRow span:last-child,.detailExtras span,.formNote,.storyText,.shortSections p{color:var(--ink)}.detailExtras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--butter)}.detailExtras article{min-height:138px;padding:20px;background:radial-gradient(ellipse at 100% 0%,rgba(217,230,235,.62),transparent 8rem),#ffffffa8;border:1px solid var(--sky);border-radius:14px}.detailExtras article:first-child{background:radial-gradient(ellipse at 100% 0%,rgba(243,216,205,.62),transparent 8rem),#ffffffa8;border-color:var(--blush)}.detailExtras p{margin:0;color:var(--ink);font-size:.73rem;font-weight:700;text-transform:uppercase}.detailExtras strong{display:block;margin-top:5px;font-family:var(--font-display);font-size:clamp(1.3rem,2.1vw,1.85rem);font-weight:600;line-height:1.05}.detailExtras span{display:block;margin-top:8px}.iconSeal{display:grid;width:40px;height:40px;place-items:center;color:var(--ink);background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.5),transparent 36%),linear-gradient(135deg,#f6edb8eb,#f3d8cd9e);border:1px solid var(--butter);border-radius:50%;box-shadow:0 8px 14px #0000001a}.rsvpCard{display:grid;gap:14px;align-content:start;padding:clamp(30px,5vw,52px)}.cardHeading{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.responseToggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;background:linear-gradient(90deg,#ddd9e894,#f6edb86b,#f3d8cd57);border:1px solid var(--butter);border-radius:999px;box-shadow:0 10px 18px #00000012,inset 0 1px #ffffffc7}.responseToggle button{min-height:38px;padding:0 12px;color:var(--ink);background:transparent;border:0;border-radius:999px;cursor:pointer;font-size:.86rem;font-weight:700}.responseToggle .selected{color:var(--ink);background:var(--lavender);box-shadow:0 10px 18px #0000001f}.householdLookup{display:grid;gap:8px;padding:10px;background:#ffffffa8;border:1px solid var(--sky);border-radius:12px}.householdLookup p{margin:0;color:#000000ad;font-size:.84rem;font-weight:700}.householdLookup>button{display:grid;gap:2px;width:100%;padding:11px 12px;color:var(--ink);text-align:left;background:#ddd9e875;border:1px solid var(--lavender);border-radius:10px;box-shadow:0 8px 15px #00000012;cursor:pointer}.householdLookup>button strong,.selectedHousehold strong{font-family:var(--font-body);font-weight:800}.householdLookup>button span{color:#000000a8;font-size:.84rem}.selectedHousehold{display:flex;gap:9px;align-items:center;justify-content:space-between;padding:10px 12px;background:#cdd8c470;border:1px solid var(--sage);border-radius:10px;font-size:.88rem}.selectedHousehold span{display:grid;gap:3px;flex:1;min-width:0}.selectedHousehold em{color:#000000a8;font-size:.78rem;font-style:normal;line-height:1.25}.selectedHousehold button{display:inline-flex;gap:5px;align-items:center;justify-content:center;min-height:32px;padding:0 10px;color:var(--ink);background:#ffffffbd;border:1px solid var(--sage);border-radius:999px;box-shadow:0 7px 12px #0000000f;cursor:pointer;font-family:var(--font-body);font-size:.76rem;font-weight:800}.rsvpCard label{display:grid;gap:6px;color:var(--ink);font-size:.82rem;font-weight:700}.rsvpCard input,.rsvpCard select,.rsvpCard textarea{width:100%;min-width:0;color:var(--ink);background:#ffffffd6;border:1px solid var(--butter);border-radius:12px;box-shadow:0 8px 16px #0000000f,inset 0 1px #ffffffd1;outline:none}.rsvpCard input,.rsvpCard select{min-height:42px;padding:0 12px}.rsvpCard select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 13px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.rsvpCard textarea{padding:10px 12px;resize:vertical}.rsvpCard input:focus,.rsvpCard select:focus,.rsvpCard textarea:focus{border-color:var(--lavender);box-shadow:0 0 0 3px #ddd9e86b}.compactFields{display:grid;grid-template-columns:1fr minmax(128px,.42fr);gap:10px}.submitRsvp{width:100%;margin-top:2px;color:var(--ink);background:var(--lavender);box-shadow:0 14px 24px #0000001f;cursor:pointer}.submitRsvp:disabled{cursor:not-allowed;opacity:.58}.formNote{margin:0;font-size:.82rem}.tokenLookupNote{margin:8px 0 0;color:#000000ad;font-size:.88rem;font-weight:600}.storyChapter{width:min(960px,calc(100% - clamp(44px,10vw,108px)));margin:0 auto;padding:clamp(34px,6vw,64px) clamp(24px,7vw,84px);text-align:center}.storyChapter:after{position:absolute;left:50%;bottom:24px;width:min(520px,70%);height:1px;content:"";background:linear-gradient(90deg,transparent,var(--story-burgundy),transparent);pointer-events:none;transform:translate(-50%)}.storyOrnament{display:grid;width:clamp(94px,13vw,132px);aspect-ratio:1;margin:0 auto 18px;place-items:center;padding:8px;background:#ffffffa3;border:1px solid var(--butter);border-radius:50%;box-shadow:0 14px 28px #0000001a}.storyOrnament img{display:block;width:100%;height:auto}.storyChapter h1{color:var(--story-burgundy);font-family:var(--font-script);font-size:clamp(3rem,6.4vw,5.5rem);font-style:normal;font-weight:400;line-height:1;text-transform:lowercase}.storyChapter .sectionKicker{color:var(--story-burgundy)}.storyText{position:relative;z-index:1;display:grid;gap:17px;max-width:740px;margin:clamp(28px,4vw,44px) auto 0;color:var(--story-burgundy);text-align:left}.storyText p{margin:0;font-family:var(--font-body);font-size:clamp(1.02rem,1.55vw,1.25rem);line-height:1.72}.storyText .salutation{color:var(--story-burgundy);font-weight:700;letter-spacing:0}.shortSections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:18px clamp(22px,5vw,54px) clamp(26px,5vw,54px)}.shortSections article{min-height:240px;padding:28px}.shortSections article>svg{color:var(--ink)}.shortSections h2{font-size:clamp(1.7rem,2.8vw,2.45rem)}.shortSections p:not(.sectionKicker){margin:14px 0 0}.photoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.photoGrid span{display:block;aspect-ratio:1;background:linear-gradient(135deg,#f6edb8c7,#cdd8c4cc),var(--butter);border:1px solid var(--butter);border-radius:6px}.galleryPage{position:relative;min-height:100vh;padding:clamp(92px,12vw,132px) clamp(18px,5vw,64px) clamp(34px,5vw,64px);background:linear-gradient(180deg,#ffffffb8,#ffffffe0),url(/assets/tea-picnic-bridge-backdrop.png) center / cover no-repeat,var(--cream)}.pageShell{position:relative;min-height:100vh;padding:clamp(92px,12vw,132px) clamp(18px,5vw,64px) clamp(34px,5vw,64px);background:linear-gradient(180deg,#ffffffb8,#ffffffe0),url(/assets/tea-picnic-bridge-backdrop.png) center / cover no-repeat,var(--cream)}.storyPage{display:grid;align-items:start}.rsvpPage{display:grid;align-items:center}.rsvpPageCard{width:min(820px,100%);margin:0 auto}.detailsDesk{grid-template-columns:minmax(0,960px);justify-content:center}.galleryIntro{display:grid;justify-items:center;max-width:760px;margin:0 auto clamp(28px,5vw,48px);text-align:center}.galleryIntro img{width:clamp(104px,14vw,150px);height:auto;margin-bottom:12px}.galleryIntro h1{margin:6px 0 0;color:var(--ink);font-family:var(--font-display);font-size:clamp(3.2rem,9vw,7rem);font-weight:600;line-height:.9}.galleryIntro p:last-child{max-width:560px;margin:18px 0 0;color:var(--ink);font-family:var(--font-body);font-size:clamp(1.05rem,2vw,1.35rem)}.largeGalleryGrid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(10px,1.5vw,18px);max-width:1440px;margin:0 auto}.largeGalleryGrid img,.galleryPlaceholder{width:100%;min-height:180px;object-fit:cover;background:linear-gradient(135deg,#f6edb8b8,#d9e6ebd1),var(--butter);border:1px solid var(--butter);border-radius:8px;box-shadow:0 18px 36px #0000001f}.largeGalleryGrid img:nth-child(6n+1),.galleryPlaceholder:nth-child(6n+1){grid-column:span 6;aspect-ratio:1.25}.largeGalleryGrid img:nth-child(6n+2),.galleryPlaceholder:nth-child(6n+2){grid-column:span 3;aspect-ratio:.72}.largeGalleryGrid img:nth-child(6n+3),.galleryPlaceholder:nth-child(6n+3){grid-column:span 3;aspect-ratio:.72}.largeGalleryGrid img:nth-child(6n+4),.galleryPlaceholder:nth-child(6n+4),.largeGalleryGrid img:nth-child(6n+5),.galleryPlaceholder:nth-child(6n+5),.largeGalleryGrid img:nth-child(6n+6),.galleryPlaceholder:nth-child(6n+6){grid-column:span 4;aspect-ratio:1.05}.galleryPlaceholder{display:grid;place-items:center;color:var(--ink)}.adminPage{display:grid;gap:22px;min-height:100vh;padding:clamp(22px,4vw,48px);background:linear-gradient(180deg,#ffffffc2,#ffffffeb),url(/assets/tea-picnic-bridge-backdrop.png) center / cover fixed no-repeat,var(--white)}.adminHero,.adminStats article,.adminActivity,.adminLoginCard,.guestListPanel,.guestEditor{position:relative;overflow:hidden;background:radial-gradient(ellipse at 10% 0%,rgba(243,216,205,.52),transparent 14rem),radial-gradient(ellipse at 100% 100%,rgba(217,230,235,.46),transparent 18rem),#fffffff0;border:1px solid var(--butter);border-radius:16px;box-shadow:0 22px 48px #0000001a,inset 0 0 0 5px #ffffff85}.adminHero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,4vw,34px);align-items:start;padding:clamp(24px,4vw,42px)}.adminHero h1,.guestEditor h2{margin:6px 0 0;color:#000000d1;font-family:var(--font-display);font-size:clamp(2.15rem,5vw,4.6rem);font-weight:600;line-height:.95}.adminHero p:not(.sectionKicker){max-width:760px;margin:14px 0 0;color:#000000c2;font-size:clamp(1rem,1.8vw,1.22rem)}.adminSyncBadge{display:inline-flex;width:fit-content;min-height:32px;margin-top:16px;padding:6px 12px;align-items:center;color:#000000c2;background:#f6edb894;border:1px solid var(--butter);border-radius:999px;box-shadow:0 8px 16px #0000000f;font-size:.78rem;font-weight:700}.adminSyncBadge.cloud{background:#cdd8c49e;border-color:var(--sage)}.adminSyncBadge.local{background:#f3d8cd9e;border-color:var(--blush)}.adminBack,.adminToolbar button,.adminActions button,.adminActions a,.adminActions label,.adminLoginButton,.adminSignOut,.adminEmptyEditor button{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:38px;padding:0 14px;color:var(--ink);background:var(--lavender);border:1px solid rgba(0,0,0,.08);border-radius:999px;box-shadow:0 10px 18px #00000014;cursor:pointer;font-family:var(--font-body);font-size:.82rem;font-weight:700;text-decoration:none}.adminBack,.adminSignOut{background:var(--white)}.adminActions button:disabled,.adminLoginButton:disabled,.adminEmptyEditor button:disabled{cursor:not-allowed;opacity:.56}.adminActions .dangerAction{background:#f3d8cdcc;border-color:var(--blush)}.adminStats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.adminStats article{min-height:112px;padding:20px}.adminStats article:nth-child(1){background:radial-gradient(ellipse at 100% 0%,rgba(221,217,232,.74),transparent 9rem),#fffffff0}.adminStats article:nth-child(2){background:radial-gradient(ellipse at 100% 0%,rgba(205,216,196,.74),transparent 9rem),#fffffff0}.adminStats article:nth-child(3){background:radial-gradient(ellipse at 100% 0%,rgba(246,237,184,.74),transparent 9rem),#fffffff0}.adminStats article:nth-child(4){background:radial-gradient(ellipse at 100% 0%,rgba(217,230,235,.74),transparent 9rem),#fffffff0}.adminStats article:nth-child(5){background:radial-gradient(ellipse at 100% 0%,rgba(243,216,205,.74),transparent 9rem),#fffffff0}.adminStats article:nth-child(6){background:radial-gradient(ellipse at 100% 0%,rgba(221,217,232,.74),transparent 9rem),#fffffff0}.adminStats span,.guestList button span,.adminField span,.adminChecks label{color:#000000bd;font-size:.74rem;font-weight:700;text-transform:uppercase}.adminStats strong{display:block;margin-top:8px;color:#000000d6;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:600;line-height:1}.adminActivity{display:grid;grid-template-columns:minmax(180px,.22fr) minmax(0,1fr);gap:14px;align-items:center;padding:18px}.adminActivity h2{margin:4px 0 0;color:#000000d1;font-family:var(--font-display);font-size:clamp(1.55rem,3vw,2.3rem);font-weight:600;line-height:1}.adminActivity>p{margin:0;color:#000000ad;font-size:.92rem}.attemptList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.attemptItem{display:grid;gap:4px;min-height:82px;padding:13px;background:#ffffffc7;border:1px solid var(--sky);border-radius:12px;box-shadow:0 10px 18px #0000000f}.attemptItem.submitted{border-color:var(--sage);background:#cdd8c457}.attemptItem.missing_household{border-color:var(--butter);background:#f6edb85c}.attemptItem.save_error{border-color:var(--blush);background:#f3d8cd61}.attemptItem strong{color:#000c;font-size:.82rem}.attemptItem span,.attemptItem em{color:#000000a8;font-size:.76rem;font-style:normal}.adminWorkspace{display:grid;grid-template-columns:minmax(280px,.36fr) minmax(0,1fr);gap:18px;align-items:start}.guestListPanel{display:grid;gap:14px;padding:16px}.adminToolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.adminFilters{display:flex;flex-wrap:wrap;gap:7px}.adminFilters button{min-height:31px;padding:0 11px;color:#000000bd;background:#ffffffb8;border:1px solid var(--sky);border-radius:999px;cursor:pointer;font-size:.73rem;font-weight:700}.adminFilters button.selected{color:var(--ink);background:var(--lavender);border-color:var(--lavender);box-shadow:0 8px 15px #00000014}.adminSearch{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;min-height:40px;padding:0 12px;background:#ffffffd1;border:1px solid var(--sky);border-radius:999px;box-shadow:inset 0 1px #fffc}.adminSearch input{width:100%;min-width:0;background:transparent;border:0;outline:0}.guestList{display:grid;gap:8px;max-height:68vh;overflow:auto;padding-right:3px}.guestList button{display:grid;gap:2px;width:100%;padding:14px;text-align:left;background:#ffffffb8;border:1px solid var(--sky);border-radius:12px;cursor:pointer}.guestList button.selected{background:linear-gradient(135deg,#ddd9e8bd,#ffffffdb);border-color:var(--lavender);box-shadow:0 12px 22px #00000014}.guestList button.dirty{border-color:var(--blush)}.guestList button span{display:flex;gap:7px;align-items:center;justify-content:space-between}.guestList button i{flex:0 0 auto;padding:2px 7px;color:#000000b8;background:var(--blush);border-radius:999px;font-size:.64rem;font-style:normal;text-transform:none}.guestList button strong{overflow:hidden;color:#000000db;text-overflow:ellipsis;white-space:nowrap}.guestList button em{color:#000000ad;font-size:.82rem;font-style:normal}.guestEditor{padding:clamp(20px,3vw,34px)}.guestEditorHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;margin-bottom:24px}.guestEditor h2{font-size:clamp(1.75rem,3vw,3rem)}.adminUnsavedNote{width:fit-content;margin:10px 0 0;padding:7px 11px;color:#000000bd;background:#f3d8cd9e;border:1px solid var(--blush);border-radius:999px;font-size:.82rem;font-weight:700}.adminActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.adminActions label{position:relative;overflow:hidden;background:var(--sky)}.adminActions label input{position:absolute;inset:0;opacity:0;pointer-events:none}.adminFormGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.adminSimpleGrid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.adminField{display:grid;gap:6px}.adminFieldWide{grid-column:span 2}.adminField input,.adminField select,.adminField textarea{width:100%;min-width:0;color:var(--ink);background:#ffffffd6;border:1px solid var(--sky);border-radius:10px;box-shadow:0 8px 15px #0000000e,inset 0 1px #ffffffd1;outline:0}.adminField input,.adminField select{min-height:40px;padding:0 11px}.adminField textarea{padding:10px 11px;resize:vertical}.adminField input:focus,.adminField select:focus,.adminField textarea:focus{border-color:var(--lavender);box-shadow:0 0 0 3px #ddd9e870}.adminChecks{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.adminChecks label{display:inline-flex;gap:9px;align-items:center;min-height:40px;padding:0 14px;background:#f6edb88a;border:1px solid var(--butter);border-radius:999px;box-shadow:0 8px 16px #0000000f}.adminChecks input{accent-color:var(--lavender)}.adminTokenNote{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;margin-top:18px;padding:14px;color:#000000b8;background:#cdd8c457;border:1px solid var(--sage);border-radius:12px;font-size:.9rem}.adminAuthPage{place-items:center}.adminLoginCard{display:grid;gap:18px;width:min(100%,460px);padding:clamp(24px,5vw,42px)}.adminLoginCard h1{margin:6px 0 0;color:#000000d1;font-family:var(--font-display);font-size:clamp(2.2rem,7vw,4rem);font-weight:600;line-height:.95}.adminLoginCard p:not(.sectionKicker),.adminEmptyEditor p{margin:10px 0 0;color:#000000b8}.adminLoginButton{min-height:44px;background:var(--sage)}.adminError{margin:0;padding:10px 12px;color:#000000c7;background:#f3d8cdc7;border:1px solid var(--blush);border-radius:10px;font-weight:700}.adminSignedIn{display:block;margin-top:8px;color:#00000094;font-size:.82rem}.adminGuidance,.adminEmptyList{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:12px 14px;color:#000000b8;background:#cdd8c457;border:1px solid var(--sage);border-radius:12px;font-size:.9rem}.adminEmptyList{grid-template-columns:1fr;justify-items:center;min-height:170px;text-align:center}.adminEmptyList strong{color:#000000d1;font-family:var(--font-display);font-size:1.5rem;font-weight:600}.adminEmptyList span{color:#000000a3;font-size:.9rem;font-weight:600;text-transform:none}.adminEmptyEditor{display:grid;place-items:center;min-height:420px;text-align:center}.adminEmptyActions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}@keyframes openLeft{0%{transform:translate(0) rotate(0) skewY(0)}to{transform:translate(-86%) rotate(-7deg) skewY(5deg)}}@keyframes openRight{0%{transform:translate(0) rotate(0) skewY(0)}to{transform:translate(86%) rotate(7deg) skewY(-5deg)}}@keyframes birdPullLeft{0%{opacity:0;transform:translate(-70%,-48%) rotate(-3deg)}22%{opacity:1}to{opacity:.88;transform:translate(calc(-48vw - 20%),-54%) rotate(-14deg)}}@keyframes birdPullRight{0%{opacity:0;transform:translate(70%,-48%) rotate(3deg) scaleX(-1)}22%{opacity:1}to{opacity:.88;transform:translate(calc(48vw + 20%),-54%) rotate(14deg) scaleX(-1)}}@keyframes valanceRise{to{transform:translateY(-48%) scaleY(.72)}}@keyframes sealPop{55%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}to{opacity:0;transform:translate(-50%,-54%) scale(.74)}}@keyframes glowLift{to{opacity:0}}@keyframes revealContent{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes railNudge{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important}.opening{display:none}.heroContent{opacity:1;transform:none}}@media(max-width:860px){.hero{min-height:100vh;min-height:100svh}.topNav{top:14px;width:calc(100% - 28px);justify-content:space-between}.topNav a,.topNav button{min-width:0;flex:1;padding-inline:8px}.heroContent{width:min(100% - 28px,560px);padding:92px 0 110px}.heroName{font-size:clamp(3.05rem,12.5vw,5.2rem)}.curtain{width:62vw}.guestDesk,.shortSections,.detailList{grid-template-columns:1fr}.detailRow{min-height:auto}.detailExtras{grid-template-columns:1fr}.storyChapter{width:calc(100% - 44px)}.largeGalleryGrid{grid-template-columns:repeat(6,1fr)}.largeGalleryGrid img:nth-child(n),.galleryPlaceholder:nth-child(n){grid-column:span 3;aspect-ratio:1}.largeGalleryGrid img:nth-child(4n+1),.galleryPlaceholder:nth-child(4n+1){grid-column:span 6;aspect-ratio:1.35}.adminHero,.adminActivity,.adminWorkspace,.guestEditorHeader{grid-template-columns:1fr}.adminStats{grid-template-columns:repeat(3,minmax(0,1fr))}.guestList{max-height:320px}.adminActions{justify-content:flex-start}.adminFormGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.topNav{gap:2px;padding:4px}.topNav a,.topNav button{min-height:34px;padding-inline:4px;font-size:.68rem}.heroContent{padding-top:104px}.heroLogo{width:clamp(104px,28vw,134px)}.heroName{font-size:clamp(2.45rem,11.8vw,4rem)}.scrollRail{right:12px;bottom:12px;left:12px;gap:8px;min-height:46px}.scrollRail span{min-height:30px;padding:0 10px;font-size:.66rem}.responseToggle{grid-template-columns:1fr;border-radius:8px}.compactFields{grid-template-columns:1fr}.responseToggle button{border-radius:6px}.infoCard,.rsvpCard,.storyChapter,.shortSections article{padding:22px}.storyChapter{width:calc(100% - 28px)}.storyText p{font-size:1rem;line-height:1.62}.largeGalleryGrid{grid-template-columns:1fr}.largeGalleryGrid img:nth-child(n),.galleryPlaceholder:nth-child(n){grid-column:auto;min-height:220px}.adminPage{padding:14px}.adminStats,.attemptList,.adminToolbar,.adminFormGrid{grid-template-columns:1fr}.adminFieldWide{grid-column:auto}.adminActions button,.adminActions a,.adminActions label,.adminEmptyActions,.adminEmptyActions button{width:100%}}
