:root{--pink:#bf6784;--rose:#a95770;--dark:#51363a;--pale:#fff8f5;--line:#edd8d8;--cream:#fff8ef;--leaf:#91a388}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--dark);background:linear-gradient(155deg,#fff1f2 0%,#fffaf4 56%,#f7f1dc 100%);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.53;cursor:not-allowed}.hidden{display:none!important}.guest-shell{max-width:620px;margin:auto;padding:10px 12px 32px;position:relative}.card{background:rgba(255,252,247,.96);border:1px solid rgba(233,196,205,.7);border-radius:25px;box-shadow:0 14px 38px rgba(142,80,93,.1);overflow:hidden}.cover-area{overflow:hidden;position:relative}.floating-flower{position:absolute;z-index:1;right:3%;top:15%;font-size:20px;color:#f3bac4;text-shadow:0 1px 2px #fff9;transform-origin:50% 100%;animation:flowerSway 11s ease-in-out infinite;pointer-events:none}.approved-cover{display:block;width:100%;height:auto}.hero-content{padding:0 22px 26px;text-align:center}.eyebrow{font:700 11px/1.4 system-ui,sans-serif;letter-spacing:2.6px;color:#ac7780;margin:14px 0 8px}h1{font-size:clamp(25px,7.2vw,34px);line-height:1.17;font-weight:600;margin:0 auto 14px;max-width:410px}h1 span{color:var(--pink);display:block;font-style:italic}.invitation{font-size:clamp(17px,4.7vw,21px);line-height:1.47;margin:8px auto 17px;max-width:430px}.invitation strong{color:var(--rose)}.date-highlight{display:flex;align-items:stretch;justify-content:center;gap:13px;background:#fff1ed;border:1px solid #efced1;border-radius:18px;padding:15px 11px;margin:0 auto 15px;max-width:420px}.date-highlight>div:not(.date-divider){display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;flex:1}.date-highlight div>span:last-child{display:flex;flex-direction:column;align-items:start;gap:3px;text-align:left}.symbol{font-family:Georgia;font-size:31px;line-height:1;color:#d47f94}.date-highlight small{font:500 12px/1.2 system-ui,sans-serif;color:#976978}.date-highlight strong{font-size:clamp(15px,4.1vw,20px);line-height:1.17}.date-divider{background:#e5bcc5;width:1px}.outdoor-note{margin:12px auto;font-size:16px;line-height:1.45;max-width:460px}.outdoor-note span{color:#e7aa4d;font-size:27px;vertical-align:middle}.animated-goose{height:65px;display:flex;align-items:center;justify-content:center;margin:3px 0 9px}.goose-motion{transform-origin:46px 64px;animation:gooseSway 9.4s ease-in-out infinite}.cta{font-size:17px;min-height:59px}.primary{background:linear-gradient(105deg,#c86586,#aa6b82);border:0;color:white;border-radius:16px;padding:16px 20px;font-family:system-ui,sans-serif;font-size:16px;font-weight:700;width:100%;min-height:53px;box-shadow:0 7px 18px rgba(178,91,119,.24)}.primary:hover{filter:brightness(.98)}.secondary{background:#fffaf9;border:1px solid #e3b5c1;border-radius:12px;color:#995c74;padding:13px 16px;font:700 14px system-ui,sans-serif;min-height:48px}.subline{font-size:15px;margin:12px 0 4px}.privacy-hint{color:#795e62;font:400 13px/1.5 system-ui,sans-serif;max-width:425px;margin:10px auto}.form-card{margin-top:20px;padding:22px 19px}.steps{display:flex;justify-content:space-between;gap:5px;margin-bottom:22px}.step{font:600 11px system-ui,sans-serif;color:#a18d92;background:#fbf1f1;padding:8px 6px;border-radius:999px;text-align:center;flex:1}.step.active{background:#d787a3;color:white}h2{font-size:clamp(23px,6vw,30px);line-height:1.2;margin:2px 0 9px;text-align:center}h3{font-size:20px;margin:18px 0 2px}.hint{font:400 14px/1.6 system-ui,sans-serif;color:#775d63;margin:8px 0 17px}.form-card label:not(.answer-option):not(.optin){display:block;font:600 14px/1.35 system-ui,sans-serif;margin:15px 0 0}.form-card input[type=text],.form-card input[type=email],.form-card input[type=tel],.form-card input[type=number],.form-card input:not([type]){width:100%;padding:14px 13px;border-radius:13px;border:1px solid #e4c7cc;background:#fff;color:#563c41;outline:0;font-size:16px;min-height:50px;margin-top:6px}.form-card input:focus{border-color:#be7792;box-shadow:0 0 0 3px #f9e4eb}.small-note{font:400 12.5px/1.55 system-ui,sans-serif;color:#79676b;margin:14px 0}.attendance{border:0;padding:0;margin:5px 0 12px}.attendance legend{font:bold 19px/1.3 Georgia,serif;margin-bottom:12px}.answer-option{border:1px solid #e7c6cf;border-radius:14px;padding:13px 12px;display:flex;align-items:center;gap:11px;margin:8px 0;background:#fffbf9;cursor:pointer}.answer-option input{width:20px;height:20px;accent-color:#bd6d89;flex-shrink:0}.answer-option span{display:flex;flex-direction:column;gap:4px}.answer-option strong{font:700 15px system-ui,sans-serif}.answer-option small{font:400 12px system-ui,sans-serif;color:#846d74}.member{background:#fff9f7;border:1px solid #f0d6de;padding:13px;margin:10px 0;border-radius:14px}.member-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.member-header strong{font:700 14px system-ui,sans-serif}.member-header button{border:0;background:none;color:#9b566e;font:600 13px system-ui,sans-serif}.add-buttons{display:flex;gap:10px;margin:13px 0}.add-buttons button{flex:1}.optin{display:flex;align-items:flex-start;gap:10px;font:400 13px/1.45 system-ui,sans-serif;margin:12px 0}.optin input{width:18px;height:18px;margin:1px 0;accent-color:var(--pink);flex:0 0 auto}.actions{display:flex;gap:10px;margin-top:16px}.actions .primary{flex:1}.actions .secondary{flex:0}.message{padding:18px;border:1px solid #e6ccd2;background:#fff7f8;border-radius:13px;font:500 14px/1.6 system-ui,sans-serif;margin-top:15px}.challenge{margin:12px 0;min-height:20px}.member label{margin:9px 0 0!important}footer{text-align:center;color:#846c74;font:400 11px system-ui,sans-serif;padding:18px 8px}.confetti-orb{position:fixed;width:110px;height:110px;background:radial-gradient(#fbd7db,transparent 70%);z-index:-1;filter:blur(13px);pointer-events:none;animation:petalFloat 12s ease-in-out infinite}.orb-a{top:18%;left:-40px}.orb-b{bottom:18%;right:-40px;animation-delay:3.2s}.loading{opacity:.7;pointer-events:none}.ticket-card{text-align:left;margin-top:18px;padding:18px;border-radius:16px;border:1px solid #edd3d7;background:#fff9f6}.ticket-card .route-links{display:grid;grid-template-columns:1fr;gap:10px}.route-links a{display:block;background:#eaa6b9;color:#543d44;text-decoration:none;padding:14px;text-align:center;border-radius:13px;font:700 15px system-ui,sans-serif}.preline{white-space:pre-line}@keyframes gooseSway{0%,100%{transform:translate3d(0,0,0) rotate(-.6deg)}50%{transform:translate3d(0,-1.3px,0) rotate(.8deg)}}@keyframes petalFloat{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(0,-4px,0) rotate(1deg)}}@media(min-width:700px){.guest-shell{padding-top:25px}.hero-content{padding:0 35px 30px}.form-card{padding:28px 30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}@media(max-width:350px){.date-highlight{gap:8px;padding:12px 8px}.date-highlight strong{font-size:14px}.symbol{font-size:24px}.hero-content{padding:0 13px 19px}}



/* V1.2 · Brisa suave e perceptível no celular. Arte original preservada. */
.cover-area {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  contain:layout paint;
}
.floating-flower {
  animation: flowerSway 6.8s ease-in-out -1.7s infinite;
  transform-origin:50% 100%;
}
.approved-cover {
  transform-origin:50% 45%;
  animation: lizPhotoBreath 9s ease-in-out -2.7s infinite;
  will-change:transform;
}
.art-detail {
  position:absolute;
  display:block;
  height:auto;
  z-index:2;
  pointer-events:none;
  user-select:none;
  will-change:transform;
  backface-visibility:hidden;
}
.art-leaves {
  left:0;top:0;width:25.292%;
  transform-origin:24% 3%;
  animation:lizLeaves 6.8s ease-in-out -2.8s infinite;
}
.art-goose {
  left:0;top:53.368%;width:26.567%;
  transform-origin:62% 94%;
  animation:lizGoose 5.6s ease-in-out -1.8s infinite;
}
.art-inset {
  left:63.337%;top:23.316%;width:36.557%;
  transform-origin:52% 55%;
  animation:lizInset 8.4s ease-in-out -2.4s infinite;
}
.art-flower {
  right:0;top:70.259%;width:15.09%;
  transform-origin:100% 95%;
  animation:lizFlower 7.4s ease-in-out -3s infinite;
}
/* Amplitude pequena, mas suficiente para ser notada na tela do celular. */
@keyframes flowerSway {
  0%,100% { transform:rotate(-2deg) translate3d(0,0,0) }
  50% { transform:rotate(2deg) translate3d(1px,-.5px,0) }
}
@keyframes lizPhotoBreath {
  0%,100% { transform:translate3d(0,0,0) scale(1) }
  50% { transform:translate3d(0,-1.8px,0) scale(1.006) }
}
@keyframes lizLeaves {
  0%,100% { transform:rotate(-1.2deg) translate3d(0,0,0) }
  50% { transform:rotate(2.3deg) translate3d(1px,-.8px,0) }
}
@keyframes lizGoose {
  0%,100% { transform:rotate(-1deg) translate3d(0,0,0) }
  50% { transform:rotate(2deg) translate3d(1.2px,-2px,0) }
}
@keyframes lizInset {
  0%,100% { transform:translate3d(0,0,0) rotate(-.3deg) }
  50% { transform:translate3d(.6px,-1.5px,0) rotate(.3deg) }
}
@keyframes lizFlower {
  0%,100% { transform:rotate(-1.4deg) translate3d(0,0,0) }
  50% { transform:rotate(2.2deg) translate3d(.7px,-.7px,0) }
}
/* Acessibilidade: se o aparelho optar por reduzir movimento, respeitamos. */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
  .approved-cover,.art-detail {will-change:auto}
}
