:root{--olive:#505f32;--olive-dark:#354326;--olive-soft:#79835a;--cream:#f8f6ef;--ivory:#f0ead8;--white:#fffefa;--ink:#3c4630;--muted:#777866;--line:#e3e2d6;--radius:3px;--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif;--script:'Great Vibes','Brush Script MT',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased}img,svg{max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bdab75;outline-offset:3px}h1,h2,h3,p{margin-top:0}h2{font:400 clamp(33px,3.8vw,51px)/1.2 var(--serif);letter-spacing:-.035em;margin-bottom:22px}h2 em{color:var(--olive-soft);font-style:italic}h3{font-family:var(--serif)}.shell{max-width:1160px;margin-inline:auto;padding-inline:30px}.section{padding-block:110px}.eyebrow{font-size:10px;letter-spacing:.29em;font-weight:700;color:var(--ivory);line-height:1.8}.eyebrow.olive{color:var(--olive-soft)}.hidden{display:none!important}.skip{position:absolute;top:-60px;left:8px;background:#fff;padding:10px;z-index:100}.skip:focus{top:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:54px;padding:13px 23px;border:1px solid transparent;border-radius:2px;font-size:11px;letter-spacing:.06em;font-weight:700;text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease;line-height:1.3}.btn:hover{transform:translateY(-2px)}.btn-light{background:var(--ivory);color:var(--olive-dark)}.btn-light:hover{background:#fff}.btn-ghost{border-color:#dddac4a8;color:var(--ivory);background:#ffffff08}.btn-ghost:hover{background:#ffffff16}.btn-dark{background:var(--olive);color:white}.btn-dark:hover{background:var(--olive-dark)}.btn-outline{border-color:var(--olive);color:var(--olive)}.btn-outline:hover{background:var(--olive);color:white}.full{width:100%}
.site-header{height:76px;background:var(--olive-dark);color:var(--ivory);position:relative;z-index:5}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:italic 32px/.8 var(--serif);text-decoration:none;white-space:nowrap;letter-spacing:-.11em}.brand span{font-size:18px;padding-inline:4px;letter-spacing:0}.nav-links{display:flex;align-items:center;gap:34px}.nav-links a{font-size:11px;text-decoration:none;letter-spacing:.06em;color:#f3eddcbd;transition:color .2s}.nav-links a:hover{color:white}.nav-cta{font-size:10px;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;border-bottom:1px solid #e1d7b8;padding:8px 0;white-space:nowrap}.nav-cta span{padding-left:8px}
.hero{min-height:780px;height:min(865px,calc(100svh - 76px));position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 70% 10%,#718044 0,transparent 48%),radial-gradient(circle at 7% 74%,#677440 0,transparent 40%),linear-gradient(125deg,#53663a,#4b5b31 45%,#384827);color:var(--ivory);text-align:center;overflow:hidden;isolation:isolate}.hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(83deg,transparent 0 3px,#fff1 3.5px 4px);opacity:.17;z-index:-1}.hero-frame{position:absolute;inset:28px;border:1px solid #efead02f;pointer-events:none}.hero-rose{position:absolute;width:470px;height:590px;top:7%;left:calc(50% - 235px);opacity:.13;pointer-events:none}.hero-content{position:relative;padding-top:15px;padding-bottom:20px;z-index:1}.hero-eyebrow{font-size:11px;margin-bottom:7px}.hero-pretitle{font-family:var(--serif);font-style:italic;font-size:22px;letter-spacing:.17em;margin:0 0 -18px;color:#f2eddbb5}.hero h1{font:400 clamp(84px,12vw,160px)/1.2 var(--script);margin:0;text-shadow:0 1px 9px #2a391521;letter-spacing:.025em}.hero-and{font-size:.55em;vertical-align:.07em;margin:0 -.07em}.hero-divider{display:flex;align-items:center;justify-content:center;gap:15px;margin:-4px auto 22px;color:#ebdec4b8}.hero-divider>span:not(.diamond){width:70px;height:1px;background:#d9d3b491}.hero-divider .diamond{font-size:19px}.hero-description{font:400 clamp(17px,2vw,23px)/1.75 var(--serif);margin-bottom:30px;color:#fff4e4d6}.hero-date{font:400 clamp(28px,3.8vw,44px)/1.2 var(--serif);letter-spacing:.08em;margin-bottom:4px}.hero-date span{font-size:.49em;vertical-align:.21em}.hero-time{font-size:13px;letter-spacing:.23em;margin-bottom:40px}.hero-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:13px}.hero-scroll{position:absolute;bottom:44px;left:0;right:0;font-size:9px;letter-spacing:.22em;color:#efe8d7ba}.hero-scroll span{padding-left:8px;font-size:18px;vertical-align:-2px}
.intro{display:grid;grid-template-columns:45% 55%;align-items:center;gap:25px}.intro-art{height:355px;border:1px solid #ddddca;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#fffdf4,#f4f2e9);position:relative;overflow:hidden}.intro-art:before,.intro-art:after{content:"";position:absolute;border:1px solid #bcbca5;border-radius:50%;width:350px;height:350px;opacity:.4}.intro-art:before{transform:translate(-75px,-90px)}.intro-art:after{transform:translate(115px,115px)}.intro-symbol{font:400 53px var(--script);color:var(--olive);z-index:1}.intro-symbol i{font:italic 28px var(--serif);padding:0 7px}.small-rule{width:55px;height:1px;background:#aeb392;margin:25px 0 15px;z-index:1}.intro-date{font:12px var(--serif);letter-spacing:.18em;color:var(--olive-soft);z-index:1}.intro-text{padding:30px clamp(20px,5vw,75px)}.intro-text p:not(.eyebrow):not(.handwritten){color:var(--muted);font-size:14px;line-height:2}.handwritten{font:32px var(--script);color:var(--olive);margin:20px 0 0}.countdown-wrap{background:#eaece1;border-block:1px solid #e2e4d8}.countdown-inner{min-height:208px;display:flex;align-items:center;justify-content:space-between;gap:35px}.countdown-inner h2{font-size:clamp(26px,3vw,37px);margin:7px 0 0}.countdown{display:flex;align-items:center;gap:9px}.countdown>div{min-width:74px;text-align:center}.countdown strong{font:400 clamp(26px,3.3vw,43px)/1.2 var(--serif);display:block;font-variant-numeric:tabular-nums}.countdown span{font-size:9px;letter-spacing:.15em;color:var(--muted)}.countdown b{font:24px var(--serif);opacity:.4;margin-top:-23px}
.centered{text-align:center}.section-heading{max-width:640px;margin:0 auto 50px}.section-heading p:last-child{color:var(--muted);font-size:14px}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px}.event-card{text-align:center;padding:46px 26px 44px;border:1px solid #dde0cd;background:#fffef9;position:relative;display:flex;flex-direction:column;align-items:center;min-height:415px}.event-card:after{content:"";position:absolute;inset:9px;border:1px solid #d7dacc78;pointer-events:none}.event-icon{color:#7b865c;height:66px}.event-number{font-size:10px;letter-spacing:.2em;color:var(--olive-soft);font-weight:700;margin:0 0 13px}.event-card h3{font:400 clamp(22px,2.4vw,29px)/1.4 var(--serif);margin:0 0 16px;min-height:82px}.event-time{font-weight:700;font-size:12px;color:var(--olive);margin-bottom:9px}.event-address{color:var(--muted);font-size:12px;margin-bottom:21px}.text-link{border:0;background:none;color:var(--olive);font-size:11px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding:0 0 5px;letter-spacing:.04em;display:inline-flex;align-items:center;gap:10px}.text-link:hover{color:#8b9968}.event-card .text-link{margin-top:auto}
.rsvp-section{background:linear-gradient(115deg,#46552f,#5e6d3d 65%,#44532e);color:var(--ivory);position:relative}.rsvp-section:before{content:"";position:absolute;inset:0;background-image:url('/assets/rose.svg');background-size:550px;background-repeat:no-repeat;background-position:6% 48%;opacity:.06;pointer-events:none}.rsvp-grid{position:relative;display:grid;grid-template-columns:.91fr 1.09fr;gap:8%;align-items:start}.rsvp-intro{padding:75px 0 0}.rsvp-intro h2{font-size:clamp(39px,4.5vw,62px);line-height:1.25;margin:22px 0 27px;color:#fff8e6}.rsvp-intro h2 em{color:#e7d8ae}.rsvp-intro>p:not(.eyebrow){max-width:390px;font-size:14px;line-height:2;color:#e9eadcde}.rsvp-ornament{font:30px var(--script);letter-spacing:.1em;opacity:.55;margin-top:50px}.form-card{background:var(--white);padding:40px;color:var(--ink);box-shadow:0 25px 60px #27331f20}.card-kicker{font-size:10px;font-weight:700;letter-spacing:.21em;color:var(--olive-soft);margin-bottom:9px}.form-card h3{font:400 29px/1.4 var(--serif);margin-bottom:30px}.field{margin:0 0 19px;border:0;padding:0;min-width:0}.field label,.field legend{display:block;font-weight:700;font-size:12px;margin-bottom:8px}.field label span,.field legend span,.required{color:#b26b5f}.field label small{font-weight:400;color:var(--muted)}.field>input:not([type=checkbox]),.field select,.field textarea{width:100%;border:1px solid #dbded2;background:#fbfbf6;color:var(--ink);border-radius:2px;padding:12px 14px;font-size:13px;min-height:46px;outline-offset:1px}.field textarea{resize:vertical;min-height:90px}.field input::placeholder,.field textarea::placeholder{color:#a7ab9e}.field>input:focus,.field select:focus,.field textarea:focus{border-color:#899670}.helper{display:block;font-size:11px;line-height:1.6;color:#8a8f81;margin-top:6px}.radio-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.radio-option{display:flex;align-items:center;gap:12px;padding:13px 12px;border:1px solid #daddd1;cursor:pointer;min-height:70px;font-size:12px}.radio-option:has(input:checked){border-color:var(--olive);background:#f2f5e9}.radio-option input{accent-color:var(--olive)}.radio-option strong{display:block;line-height:1.4;font-size:12px}.radio-option small{display:block;font-size:10px;color:var(--muted);line-height:1.5;padding-top:3px}.companions-fields{margin-bottom:4px}.edit-toggle{font-size:12px;margin:8px 0 14px}.edit-toggle input,.privacy-check input{accent-color:var(--olive)}.privacy-check{display:flex;gap:10px;align-items:flex-start;font-size:11px;color:#757b70;line-height:1.6;margin:16px 0 20px;cursor:pointer}.privacy-check input{margin-top:3px;flex-shrink:0}.form-status{font-size:12px;line-height:1.6;margin:0 0 12px;min-height:0}.form-status:not(:empty){padding:10px 12px;background:#fff4e8;color:#8a4e26}.form-status.ok{background:#e7f1e5;color:#365c39}.form-note{font-size:10px;color:#8e9289;text-align:center;margin:14px 0 0}.honeypot{position:absolute!important;left:-9999px!important;opacity:0;pointer-events:none}.success{text-align:center;padding:15px 0}.success-icon{display:grid;place-items:center;margin:0 auto 23px;width:66px;height:66px;border-radius:50%;background:#eaf0e2;color:var(--olive);font-size:35px}.success h3{margin-bottom:12px}.success>p:not(.card-kicker){font-size:14px;color:var(--muted)}.confirmation-code{background:#f4f5ed;padding:19px 10px;margin:25px 0;display:flex;flex-direction:column;align-items:center;gap:12px}.confirmation-code span{font-size:9px;letter-spacing:.12em}.confirmation-code strong{font-size:16px;letter-spacing:.15em;overflow-wrap:anywhere}
.gifts{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.gifts-left{max-width:465px}.gifts-left h2{font-size:clamp(40px,4.2vw,58px)}.gifts-left>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:2}.gift-note{border-top:1px solid #d9dccc;margin-top:32px;padding-top:24px;display:flex;align-items:center;gap:17px}.gift-note>span{font-size:35px;color:var(--olive-soft)}.gift-note p{font:25px var(--script);color:var(--olive);margin:0}.pix-card{border:1px solid #e2e4d8;background:#fffefa;box-shadow:0 18px 35px #1d2e1209;padding:29px 33px 31px;text-align:center;max-width:465px;width:100%;margin-left:auto}.pix-card-header{display:flex;align-items:center;gap:15px;text-align:left;border-bottom:1px solid #e8e8db;padding-bottom:18px;margin-bottom:16px}.pix-card-header .pix-mark{font-size:33px;color:var(--olive-soft)}.pix-card-header p{font-size:9px;font-weight:700;letter-spacing:.17em;color:var(--olive-soft);margin:0}.pix-card-header h3{font:400 20px var(--serif);margin:0}.qr-image{display:block;width:235px;height:235px;object-fit:contain;margin:0 auto;image-rendering:auto}.qr-hint{font-size:11px;color:var(--muted);margin:4px 0 23px}.pix-label{display:block;text-align:left;font-size:9px;color:var(--olive-soft);letter-spacing:.16em;font-weight:700;margin-bottom:6px}.pix-key-box{border:1px solid #dcded1;display:flex;align-items:center;text-align:left;margin-bottom:11px;background:#fafbf6}.pix-key-box input{width:100%;min-width:0;border:0;background:transparent;font-size:12px;padding:14px 10px;color:var(--ink)}.pix-key-box button{border:0;border-left:1px solid #dedfd7;background:none;padding:13px;font-size:11px;color:var(--olive);font-weight:700}.pix-card .btn{min-height:45px}.copy-feedback{min-height:18px;color:var(--olive);font-size:11px;margin-top:6px}.pix-disclaimer{font-size:10px;color:#8e9288;margin:5px 0 0}.invite-strip{background:#e9eadf;border-block:1px solid #e0e3d5}.invite-strip-inner{display:flex;gap:25px;align-items:center;justify-content:space-between;padding-block:60px}.invite-strip h2{font-size:33px;margin:8px 0}.invite-strip p:last-child{font-size:13px;color:var(--muted);margin:0}.footer{text-align:center;background:var(--olive-dark);color:var(--ivory);padding:48px 25px 34px}.footer-monogram{font:47px var(--script);margin-bottom:13px}.footer-monogram span{font:italic 22px var(--serif)}.footer>p:not(.footer-monogram){font-size:10px;letter-spacing:.1em;color:#eee9d3c6;margin:5px 0}.footer-top{display:inline-block;text-decoration:none;border-bottom:1px solid #e5dec1a1;margin-top:27px;font-size:10px;letter-spacing:.13em}
@media(max-width:900px){.shell{padding-inline:25px}.nav-links{gap:18px}.nav-cta{display:none}.hero{min-height:720px}.intro{grid-template-columns:40% 60%}.intro-text{padding:20px}.intro-art{height:300px}.countdown-inner{align-items:flex-start;flex-direction:column;justify-content:center;padding-block:33px}.rsvp-grid{gap:35px;grid-template-columns:.85fr 1.15fr}.rsvp-intro h2{font-size:39px}.form-card{padding:26px}.gifts{gap:5%}.pix-card{padding:26px}}
@media(max-width:670px){.shell{padding-inline:20px}.section{padding-block:71px}.site-header{height:64px}.brand{font-size:27px}.nav{gap:14px}.nav-links{gap:14px}.nav-links a{font-size:10px}.hero{height:auto;min-height:690px;padding-block:80px 95px}.hero-frame{inset:14px}.hero-rose{width:370px;left:calc(50% - 185px);top:13%;opacity:.12}.hero-eyebrow{font-size:9px;line-height:2.1;max-width:290px;margin-inline:auto}.hero-pretitle{font-size:17px;margin:13px 0 -6px}.hero h1{font-size:clamp(65px,13vw,105px);line-height:1.38}.hero-divider{margin:-8px auto 16px}.hero-description{font-size:17px;margin-bottom:27px}.desktop-only{display:none}.hero-date{font-size:31px}.hero-date span{font-size:.43em}.hero-time{font-size:11px;margin-bottom:29px}.hero-buttons{flex-direction:column;align-items:stretch;max-width:320px;margin-inline:auto}.hero-scroll{bottom:28px}.intro{grid-template-columns:1fr;gap:25px}.intro-art{height:250px}.intro-text{padding:8px 3px}.intro-text h2{font-size:38px}.countdown-inner{gap:21px}.countdown-inner h2{font-size:31px}.countdown{gap:5px;width:100%;justify-content:center}.countdown>div{min-width:57px}.countdown strong{font-size:34px}.countdown span{font-size:8px}.event-grid{grid-template-columns:1fr;gap:16px}.event-card{min-height:375px}.event-card h3{min-height:0}.rsvp-grid{grid-template-columns:1fr}.rsvp-intro{padding:0}.rsvp-intro h2{font-size:41px}.rsvp-ornament{display:none}.form-card{padding:25px 22px}.radio-grid{gap:8px}.radio-option{padding:10px 7px;gap:7px}.radio-option strong{font-size:11px}.radio-option small{font-size:9px}.gifts{grid-template-columns:1fr;gap:30px}.gifts-left h2{font-size:41px}.pix-card{max-width:none}.invite-strip-inner{align-items:flex-start;flex-direction:column;padding-block:47px}.invite-strip h2{font-size:29px}}
@media(max-width:365px){.nav-links{gap:9px}.nav-links a{font-size:9px}.hero h1{font-size:65px}.countdown>div{min-width:48px}.countdown strong{font-size:29px}.countdown span{font-size:7px}.form-card{padding:22px 17px}.radio-option{min-height:84px}.qr-image{width:210px;height:210px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}


/* ------------------------------------------------------------
   Movimento do convite — discreto, progressivo e acessível.
   Os componentes seguem visíveis quando JavaScript está desligado.
   ------------------------------------------------------------ */
@keyframes wedding-rise {
  from { opacity: 0; transform: translate3d(0, 26px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes wedding-blossom {
  from { opacity: 0; transform: translate3d(0, 16px, 0) scale(.965); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes wedding-rose-drift {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-1deg); }
  50% { transform: translate3d(0, -16px, 0) rotate(1deg); }
}
@keyframes wedding-shimmer {
  0%, 100% { opacity: .18; transform: translate3d(0, 0, 0) rotate(0deg) scale(.88); }
  50% { opacity: .54; transform: translate3d(5px, -13px, 0) rotate(14deg) scale(1.12); }
}
@keyframes wedding-scroll-hint {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(5px); }
}
@keyframes wedding-success-pop {
  from { opacity: 0; transform: scale(.72) rotate(-12deg); }
  to { opacity: 1; transform: scale(1) rotate(0); }
}
@keyframes wedding-count-tick {
  0% { opacity: .48; transform: translateY(4px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Entrada cinematográfica, mas curta, da capa. */
.motion-enabled .hero-eyebrow,
.motion-enabled .hero-pretitle,
.motion-enabled .hero h1,
.motion-enabled .hero-divider,
.motion-enabled .hero-description,
.motion-enabled .hero-date,
.motion-enabled .hero-time,
.motion-enabled .hero-buttons,
.motion-enabled .hero-scroll {
  animation: wedding-rise .85s cubic-bezier(.16, 1, .3, 1) both;
}
.motion-enabled .hero-eyebrow { animation-delay: .08s; }
.motion-enabled .hero-pretitle { animation-delay: .18s; }
.motion-enabled .hero h1 { animation-name: wedding-blossom; animation-delay: .28s; animation-duration: 1.15s; }
.motion-enabled .hero-divider { animation-delay: .48s; }
.motion-enabled .hero-description { animation-delay: .57s; }
.motion-enabled .hero-date { animation-delay: .69s; }
.motion-enabled .hero-time { animation-delay: .76s; }
.motion-enabled .hero-buttons { animation-delay: .88s; }
.motion-enabled .hero-scroll { animation-delay: 1.2s; }
.motion-enabled .hero-rose { animation: wedding-rose-drift 13s ease-in-out infinite; }
.motion-enabled .hero-scroll span { display: inline-block; animation: wedding-scroll-hint 1.9s ease-in-out infinite; }

/* Pequenos pontos de luz, em harmonia com os detalhes do convite. */
.hero-glimmers { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; }
.hero-glimmers span { position: absolute; color: #e6dab5; line-height: 1; font-size: 21px; opacity: .28; }
.hero-glimmers span:nth-child(1) { top: 22%; left: 17%; font-size: 17px; }
.hero-glimmers span:nth-child(2) { top: 35%; right: 14%; font-size: 13px; }
.hero-glimmers span:nth-child(3) { bottom: 28%; left: 11%; font-size: 13px; }
.hero-glimmers span:nth-child(4) { bottom: 20%; right: 17%; font-size: 16px; }
.hero-glimmers span:nth-child(5) { top: 13%; right: 28%; font-size: 11px; }
.motion-enabled .hero-glimmers span { animation: wedding-shimmer 7.5s ease-in-out infinite; }
.motion-enabled .hero-glimmers span:nth-child(2) { animation-delay: -3s; }
.motion-enabled .hero-glimmers span:nth-child(3) { animation-delay: -5.5s; }
.motion-enabled .hero-glimmers span:nth-child(4) { animation-delay: -1.5s; }
.motion-enabled .hero-glimmers span:nth-child(5) { animation-delay: -4.3s; }

/* Revelação no scroll: a classe só é adicionada a elementos fora da tela. */
.motion-reveal { opacity: 0; transform: translate3d(0, 26px, 0); transition: opacity .85s cubic-bezier(.2,.7,.25,1), transform .9s cubic-bezier(.16,1,.3,1); transition-delay: var(--reveal-delay, 0ms); }
.motion-reveal.motion-from-left { transform: translate3d(-31px, 12px, 0); }
.motion-reveal.motion-from-right { transform: translate3d(31px, 12px, 0); }
.motion-reveal.motion-visible { opacity: 1; transform: translate3d(0, 0, 0); }

/* Microinterações delicadas nos elementos clicáveis. */
.event-card, .pix-card { transition: box-shadow .38s ease, transform .38s cubic-bezier(.16,1,.3,1), border-color .38s ease; }
.event-icon svg { transition: transform .4s cubic-bezier(.16,1,.3,1); }
.btn, .nav-cta, .text-link, .pix-key-box button, .footer-top { transition-duration: .28s; transition-timing-function: cubic-bezier(.16,1,.3,1); }
.btn > span, .nav-cta > span, .text-link > span { display: inline-block; transition: transform .28s ease; }
.radio-option, .field input, .field select, .field textarea, .pix-key-box button { transition: background .25s ease, border-color .25s ease, box-shadow .25s ease; }
.field>input:focus, .field select:focus, .field textarea:focus { box-shadow: 0 0 0 3px rgba(121, 131, 90, .11); }
@media (hover:hover) and (pointer:fine) {
  .event-card:hover { transform: translateY(-6px); border-color: #c3c9af; box-shadow: 0 20px 42px rgba(46, 59, 33, .09); }
  .event-card:hover .event-icon svg { transform: translateY(-3px); }
  .pix-card:hover { transform: translateY(-4px); box-shadow: 0 23px 47px rgba(46, 59, 33, .10); }
  .btn:hover > span, .nav-cta:hover > span, .text-link:hover > span { transform: translate(3px, -2px); }
  .pix-key-box button:hover { background: #f0f3e7; }
}
/* Animação apenas após o envio bem-sucedido do RSVP. */
.motion-enabled .success:not(.hidden) { animation: wedding-rise .55s cubic-bezier(.16,1,.3,1) both; }
.motion-enabled .success:not(.hidden) .success-icon { animation: wedding-success-pop .6s .13s cubic-bezier(.16,1,.3,1) both; }
.motion-enabled .countdown strong.is-ticking { animation: wedding-count-tick .3s ease-out; }

@media (max-width: 670px) {
  .hero-glimmers span:nth-child(3), .hero-glimmers span:nth-child(5) { display: none; }
  .hero-glimmers span:nth-child(1) { left: 8%; }
  .hero-glimmers span:nth-child(2) { right: 7%; }
  .hero-glimmers span:nth-child(4) { right: 8%; }
  .motion-reveal.motion-from-left, .motion-reveal.motion-from-right { transform: translate3d(0, 22px, 0); }
  .motion-reveal.motion-visible { transform: translate3d(0, 0, 0); }
}
/* Respeita acessibilidade e preferência de menos movimento. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .motion-enabled .hero-eyebrow, .motion-enabled .hero-pretitle,
  .motion-enabled .hero h1, .motion-enabled .hero-divider,
  .motion-enabled .hero-description, .motion-enabled .hero-date,
  .motion-enabled .hero-time, .motion-enabled .hero-buttons,
  .motion-enabled .hero-scroll, .motion-enabled .hero-rose,
  .motion-enabled .hero-scroll span, .motion-enabled .hero-glimmers span,
  .motion-enabled .success:not(.hidden),
  .motion-enabled .success:not(.hidden) .success-icon,
  .motion-enabled .countdown strong.is-ticking { animation: none !important; }
  .motion-reveal, .motion-reveal.motion-from-left, .motion-reveal.motion-from-right { opacity: 1 !important; transform: none !important; transition: none !important; }
  .event-card, .pix-card, .event-icon svg, .btn, .nav-cta,
  .text-link, .btn > span, .nav-cta > span, .text-link > span,
  .radio-option, .field input, .field select, .field textarea,
  .pix-key-box button, .footer-top { transition: none !important; }
  .event-card:hover, .pix-card:hover, .btn:hover,
  .btn:hover > span, .nav-cta:hover > span, .text-link:hover > span { transform: none !important; }
}
