@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;600;700&family=Caveat:wght@600;700&display=swap";:root{--verde:#009739;--verde-escuro:#006b2d;--verde-claro:#00b84d;--amarelo:#fedd00;--amarelo-quente:#ffb800;--azul:#002776;--azul-claro:#0047ab;--branco:#fff;--bg-primary:#f5f0e8;--bg-secondary:#ede7d9;--bg-card:#ffffffb3;--bg-card-hover:#ffffffe6;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-accent:var(--verde-escuro);--font-display:"Bebas Neue", sans-serif;--font-body:"Inter", sans-serif;--font-handwritten:"Caveat", cursive}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}.confetti-container{pointer-events:none;z-index:1000;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti{opacity:0;width:12px;height:12px;animation:4s ease-in forwards confetti-fall;position:absolute;top:-20px}.confetti:nth-child(odd){border-radius:50%}.confetti:nth-child(2n){border-radius:2px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(100vh)rotate(720deg)scale(.5)}}.hero{text-align:center;background:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex;position:relative;overflow:hidden}.hero-flag{z-index:1;margin-bottom:2rem}.brazil-flag{border-radius:6px;width:clamp(120px,18vw,200px);height:auto;box-shadow:0 4px 20px #0000001f}.hero-title{font-family:var(--font-display);letter-spacing:.02em;z-index:1;background:linear-gradient(135deg, var(--verde) 0%, var(--verde-escuro) 40%, var(--amarelo-quente) 100%);-webkit-text-fill-color:transparent;background-clip:text;font-size:clamp(4rem,12vw,10rem);line-height:.9}.hero-subtitle{font-family:var(--font-handwritten);color:var(--text-secondary);z-index:1;margin-top:1rem;font-size:clamp(1.5rem,4vw,2.5rem);animation:1s ease-out .5s both fadeInUp}.scroll-hint{z-index:1;opacity:.5;font-size:1.5rem;animation:2s infinite bounce;position:absolute;bottom:2rem}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-15px)}60%{transform:translateY(-8px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section-title{font-family:var(--font-display);text-align:center;color:var(--verde-escuro);letter-spacing:.05em;margin-bottom:.5rem;font-size:clamp(2.5rem,6vw,4rem)}.section-subtitle{font-family:var(--font-handwritten);text-align:center;color:var(--text-secondary);margin-bottom:3rem;font-size:clamp(1.2rem,3vw,1.8rem)}.video-section{padding:0}.video-zigzag video{object-fit:cover;width:100%;height:100%;min-height:420px;display:block}.section-divider{justify-content:center;align-items:center;gap:1rem;max-width:400px;margin:0 auto;padding:1.5rem 0;display:flex}.section-divider:before,.section-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--verde), var(--amarelo), var(--azul), transparent);flex:1;height:2px}.section-divider span{font-size:1.5rem}.gallery-section{padding:clamp(3rem,8vw,6rem) 0}.zigzag-item{grid-template-columns:1fr 1fr;align-items:center;gap:0;min-height:420px;margin-bottom:0;display:grid}.zigzag-item:nth-child(2n){direction:rtl}.zigzag-item:nth-child(2n)>*{direction:ltr}.zigzag-photo{width:100%;height:100%;position:relative;overflow:hidden}.zigzag-photo img{object-fit:cover;width:100%;height:100%;min-height:420px;transition:transform .6s cubic-bezier(.34,1.56,.64,1);display:block}.zigzag-item:hover .zigzag-photo img{transform:scale(1.04)}.zigzag-text{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:clamp(2rem,4vw,4rem);display:flex}.zigzag-item:first-child .zigzag-text{background:#0097390f}.zigzag-item:nth-child(2) .zigzag-text{background:#fedd0014}.zigzag-item:nth-child(3) .zigzag-text{background:#0027760d}.zigzag-item:nth-child(4) .zigzag-text{background:#0097390f}.zigzag-item:nth-child(5) .zigzag-text{background:#fedd0014}.zigzag-item:nth-child(6) .zigzag-text{background:#0027760d}.zigzag-emoji{margin-bottom:1rem;font-size:2.5rem}.zigzag-caption{font-family:var(--font-handwritten);color:var(--text-primary);font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.4}.zigzag-sub{color:var(--text-secondary);margin-top:.8rem;font-size:.95rem;font-style:italic}.message-section{text-align:center;max-width:900px;margin:0 auto;padding:clamp(3rem,8vw,6rem) 1rem}.message-card{backdrop-filter:blur(10px);background:#ffffff80 linear-gradient(135deg,#0097390d,#fedd000f,#0027760a);border:1px solid #00973926;border-radius:24px;max-width:700px;margin:0 auto;padding:clamp(2rem,5vw,4rem);position:relative;overflow:hidden}.message-card:before{content:"🇧🇷";opacity:.06;font-size:8rem;position:absolute;top:-20px;right:-20px;transform:rotate(15deg)}.message-card p{color:var(--text-primary);margin-bottom:1.5rem;font-size:clamp(1.1rem,2.5vw,1.3rem);line-height:1.8}.message-card p:last-of-type{margin-bottom:0}.message-signature{font-family:var(--font-handwritten);color:var(--verde-escuro);margin-top:2rem;font-size:1.8rem}.message-emoji{margin-bottom:1.5rem;font-size:3rem;animation:1s ease-in-out infinite alternate emoji-dance;display:block}@keyframes emoji-dance{0%{transform:rotate(-5deg)scale(1)}to{transform:rotate(5deg)scale(1.1)}}.site-footer{text-align:center;border-top:2px solid #0097391a;padding:3rem 1rem}.footer-text{font-family:var(--font-handwritten);color:var(--text-secondary);font-size:1.3rem}.footer-flag{margin-top:.5rem;font-size:2rem;animation:2s ease-in-out infinite flag-wave;display:block}.fade-in{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(40px)}.fade-in.visible{opacity:1;transform:translateY(0)}.slide-left{opacity:0;transition:opacity .8s,transform .8s;transform:translate(-60px)}.slide-right{opacity:0;transition:opacity .8s,transform .8s;transform:translate(60px)}.slide-left.visible,.slide-right.visible{opacity:1;transform:translate(0)}@media (width<=768px){.zigzag-item{grid-template-columns:1fr;min-height:auto}.zigzag-item:nth-child(2n){direction:ltr}.zigzag-photo img{min-height:300px}.zigzag-text{padding:2rem 1.5rem}}@media (width<=480px){.hero-title{font-size:clamp(3rem,15vw,5rem)}.message-card{padding:1.5rem}.zigzag-photo img{min-height:250px}}
