.slide{scroll-snap-align:start;-webkit-user-select:none;user-select:none;box-sizing:border-box;flex-direction:column;align-items:center;min-height:100dvh;padding:clamp(60px,8vw,80px) clamp(20px,5vw,80px) clamp(100px,12vw,140px);display:flex;position:relative;overflow-y:visible}.slide-inner{text-align:center;flex-direction:column;align-items:center;gap:clamp(16px,3vw,28px);width:100%;max-width:720px;margin:auto 0;display:flex}.slide-emoji,.hero-frog,.info-card-icon{font-family:Fluent Emoji Color,sans-serif}.slide-emoji{filter:drop-shadow(3px 3px #00000026);font-size:clamp(48px,10vw,80px);line-height:1}.slide h1{font-family:var(--font-heading);letter-spacing:-.05em;margin:0;font-size:clamp(34px,8vw,68px);font-weight:800;line-height:.95}.slide h2{font-family:var(--font-heading);letter-spacing:-.04em;margin:0;font-size:clamp(26px,6vw,48px);font-weight:800;line-height:1}.slide h3{font-family:var(--font-heading);margin:0;font-size:clamp(18px,3.5vw,28px);font-weight:800}.slide p,.slide li{font-size:clamp(15px,2.5vw,19px);line-height:1.6}.subtitle{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.12em;opacity:.9;font-weight:800;font-size:clamp(14px,2.5vw,18px)!important}.badge{border:var(--border-w) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;background:var(--white);color:var(--black);padding:8px 20px;font-size:clamp(16px,3vw,22px);font-weight:800;display:inline-block}.neo-btn{border:var(--border-w) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;background:var(--white);color:var(--black);cursor:pointer;align-items:center;gap:10px;padding:12px 24px;font-size:clamp(14px,2.5vw,18px);font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.neo-btn:hover{box-shadow:3px 3px 0 var(--black);transform:translate(2px,2px)}.neo-btn:active{box-shadow:1px 1px 0 var(--black);transform:translate(4px,4px)}.neo-btn svg{flex-shrink:0;width:20px;height:20px}.neo-btn--green{background:var(--green)}.neo-btn--yellow{background:var(--yellow)}.neo-btn--orange{background:var(--orange);color:var(--white)}.neo-btn--pink{background:var(--pink);color:var(--white)}.neo-btn--purple{background:var(--purple);color:var(--white)}.neo-btn--blue{background:var(--blue);color:var(--white)}.btn-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.slide--yellow{background:var(--yellow)}.slide--white{background:var(--white)}.slide--green{background:var(--green)}.slide--pink{background:var(--pink);color:var(--white)}.slide--blue{background:var(--blue);color:var(--white)}.slide--purple{background:var(--purple);color:var(--white)}.slide--orange{background:var(--orange)}.slide--pink .badge,.slide--blue .badge,.slide--purple .badge{color:var(--black)}.hero-frog{font-size:clamp(64px,14vw,120px);line-height:1;animation:2s ease-in-out infinite frogBounce}@keyframes frogBounce{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-12px)rotate(-3deg)}75%{transform:translateY(-6px)rotate(3deg)}}.hero-date{background:var(--orange);color:var(--white);border:var(--border-w) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:-.05em;padding:12px 32px;font-size:clamp(20px,4vw,32px);font-weight:800;line-height:.95}.guest-name{font-family:var(--font-heading);color:var(--pink);letter-spacing:-.06em;font-weight:800;display:inline}.slide--pink .guest-name,.slide--orange .guest-name{color:var(--yellow)}.scroll-hint{opacity:.7;font-size:13px;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.1em;flex-direction:column;align-items:center;gap:6px;font-weight:800;animation:1.8s ease-in-out infinite hintBounce;display:flex;position:absolute;bottom:clamp(16px,3vw,32px);left:50%;transform:translate(-50%)}.scroll-hint svg{width:28px;height:28px}@keyframes hintBounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}.scroll-hint--up{cursor:pointer;animation-name:hintBounceUp}@keyframes hintBounceUp{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-6px)}}.time-block{border:var(--border-w) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-lg);background:var(--yellow);font-family:var(--font-heading);color:var(--black);align-items:center;gap:8px;padding:12px 28px;font-size:clamp(36px,7vw,64px);font-weight:800;display:inline-flex}.slide--green .time-block{background:var(--white)}.timeline{flex-direction:column;gap:16px;width:100%;max-width:560px;display:flex}.timeline-item{text-align:left;border:var(--border-w) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--white);color:var(--black);align-items:flex-start;gap:14px;padding:14px 20px;display:flex}.timeline-time{font-family:var(--font-heading);white-space:nowrap;color:var(--purple);font-size:clamp(18px,3vw,24px);font-weight:800}.timeline-text{font-size:clamp(14px,2.2vw,17px);line-height:1.5}.cards-grid{grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:800px;display:grid}@media (max-width:700px){.cards-grid{grid-template-columns:1fr}}.info-card{border:var(--border-w) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--white);color:var(--black);text-align:left;flex-direction:column;gap:8px;padding:clamp(16px,3vw,24px);display:flex}.info-card-icon{font-size:32px;line-height:1}.info-card h3{margin:0;font-size:clamp(16px,2.5vw,20px)}.info-card p{opacity:.85;font-size:clamp(13px,2vw,15px);line-height:1.5}.swatches-wrap{flex-direction:column;align-items:center;gap:10px;display:flex}.swatches{gap:8px;display:flex}.swatch{border:var(--border-w) solid var(--black);width:clamp(36px,7vw,52px);height:clamp(36px,7vw,52px);box-shadow:3px 3px 0 var(--black);border-radius:8px}.swatches-label{opacity:.85;font-size:clamp(12px,2vw,15px);font-weight:500}.rsvp-list{flex-direction:column;gap:12px;width:100%;max-width:560px;display:flex}.rsvp-item{border:var(--border-w) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--white);color:var(--black);text-align:left;padding:14px 20px;transition:transform .2s}.rsvp-item:hover{transform:translate(4px)}.rsvp-item-label{font-family:var(--font-heading);text-transform:uppercase;margin-bottom:4px;font-size:clamp(14px,2.3vw,17px);font-weight:700}.rsvp-item-options{opacity:.7;font-size:clamp(13px,2vw,15px);font-style:italic}.route-block{border:var(--border-w) solid var(--black);border-radius:var(--radius);font-family:var(--font-heading);letter-spacing:.06em;background:var(--white);color:var(--black);padding:14px 28px;font-size:clamp(16px,3vw,24px);font-weight:700;display:inline-block}.closing{font-family:var(--font-heading);margin-top:12px;font-size:clamp(18px,3.5vw,28px);font-weight:700}.slide:before{content:"";pointer-events:none;opacity:.04;background-image:radial-gradient(circle, var(--black) 1px, transparent 1px);background-size:24px 24px;position:absolute;inset:0}.slide--white:before{opacity:.06}.slide--yellow:after,.slide--green:after,.slide--pink:after,.slide--blue:after,.slide--purple:after,.slide--orange:after{content:"";background:var(--black);height:4px;position:absolute;bottom:0;left:0;right:0}.slide-counter{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.1em;opacity:.35;pointer-events:none;font-size:clamp(11px,1.5vw,14px);font-weight:800;position:absolute;top:clamp(12px,2vw,20px);right:clamp(12px,2vw,20px)}.contact-name{font-family:var(--font-heading);text-transform:uppercase;font-size:clamp(20px,4vw,32px);font-weight:800}.dress-badge{border:var(--border-w) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-lg);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;background:var(--orange);color:var(--black);padding:12px 28px;font-size:clamp(20px,4vw,32px);font-weight:800;display:inline-block}.sticker{border:var(--border-w) solid var(--black);box-shadow:var(--shadow);pointer-events:none;border-radius:50%;position:absolute}.sticker--1{background:var(--pink);width:clamp(40px,8vw,80px);height:clamp(40px,8vw,80px);top:8%;right:6%;transform:rotate(12deg)}.sticker--2{background:var(--purple);width:clamp(28px,5vw,56px);height:clamp(28px,5vw,56px);bottom:18%;left:5%;transform:rotate(-8deg)}.sticker--3{background:var(--green);width:clamp(20px,4vw,44px);height:clamp(20px,4vw,44px);top:15%;left:8%;transform:rotate(25deg)}.sticker--sq{border-radius:6px}.rsvp-form{flex-direction:column;gap:20px;width:100%;max-width:600px;display:flex}.questionnaire-list{flex-direction:column;gap:16px;display:flex}.checkbox-row{background:#00000008;border-radius:8px;flex-wrap:wrap;gap:12px;padding:8px;display:flex}.custom-checkbox-label{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;transition:background .2s;display:flex}.custom-checkbox-label:hover{background:#0000000d}.custom-checkbox-label input{display:none}.checkbox-box{border:2px solid var(--black);background:var(--white);border-radius:4px;flex-shrink:0;width:18px;height:18px;position:relative}.custom-checkbox-label input:checked+.checkbox-box{background:var(--pink)}.custom-checkbox-label input:checked+.checkbox-box:after{content:"✓";color:var(--white);font-size:14px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.option-text{font-size:14px;font-weight:600}.textarea-wrapper{flex-direction:column;gap:4px;display:flex}.custom-textarea{border:var(--border-w) solid var(--black);border-radius:var(--radius);width:100%;min-height:100px;box-shadow:3px 3px 0 var(--black);resize:vertical;background:var(--white);padding:12px;font-family:inherit;font-size:15px}.custom-textarea:focus{box-shadow:5px 5px 0 var(--black);outline:none}.char-count{text-align:right;opacity:.6;font-size:12px}.submit-btn{justify-content:center;width:100%;margin-top:10px}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.error-message{background:var(--white);color:#ff572d;border:var(--border-w) solid #ff572d;border-radius:var(--radius);text-align:left;margin-bottom:1.5rem;padding:14px 20px;font-size:14px;font-weight:700;animation:.4s cubic-bezier(.36,.07,.19,.97) both errorShake;box-shadow:4px 4px #ff572d}@keyframes errorShake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.success-message{background:var(--white);color:var(--black);border:var(--border-w) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:30px;animation:.5s cubic-bezier(.175,.885,.32,1.275) slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.id-badge{background:var(--black);color:var(--white);border-radius:4px;margin-top:12px;padding:4px 12px;font-family:monospace;font-size:12px;display:inline-block}@media (max-height:740px){.slide-inner{gap:clamp(10px,2vh,20px)}.rsvp-list{gap:8px}.rsvp-item{padding:10px 16px}.slide-emoji{font-size:clamp(40px,8vh,60px)}.closing{margin-top:4px;font-size:clamp(16px,3vh,22px)}}@media (max-height:600px){.slide{padding-top:40px;padding-bottom:90px}.slide-counter{top:10px}.hero-frog{font-size:60px}}@media (prefers-reduced-motion:reduce){.hero-frog,.scroll-hint{animation:none}#wedding-container{scroll-behavior:auto}}
