/* 1. Variáveis e base */
:root { --ink:#48376d; --muted:#735f95; --paper:#fffafc; --card:rgba(255,255,255,.78); --purple:#7551bb; --violet:#a678db; --pink:#f68bad; --peach:#ffc5a5; --yellow:#ffd86b; --line:rgba(116,81,187,.16); --shadow:0 18px 50px rgba(96,63,148,.17); --focus:#422077; }
body.dark { --ink:#f5edff; --muted:#d0bee7; --paper:#191126; --card:rgba(48,34,69,.88); --purple:#c59aff; --violet:#dfbbff; --pink:#ffacc7; --peach:#ffbc99; --yellow:#ffe186; --line:rgba(224,192,255,.2); --shadow:0 20px 50px rgba(0,0,0,.32); --focus:#ffe287; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; margin:0; overflow-x:hidden; color:var(--ink); background:radial-gradient(circle at 10% 5%, #fff 0 2%, transparent 18%), radial-gradient(circle at 90% 85%, #f2e6ff 0, transparent 23%), var(--paper); font-family:"Fredoka", Arial, sans-serif; transition:background .4s ease,color .4s ease; }
body.dark { background:radial-gradient(circle at 10% 5%, #342343 0, transparent 18%), radial-gradient(circle at 90% 85%, #29203a 0, transparent 25%), var(--paper); }
.container { width:min(1120px, calc(100% - 3rem)); margin-inline:auto; position:relative; z-index:1; }
a,button { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }

/* 2. Cabeçalho */
.topbar { min-height:84px; display:flex; justify-content:space-between; align-items:center; }
.brand { width:44px; height:44px; display:grid; place-items:center; color:#fff; text-decoration:none; font-family:"Pacifico", cursive; font-size:1.35rem; background:linear-gradient(145deg, var(--pink),var(--purple)); border-radius:50% 50% 48% 52%; box-shadow:0 7px 16px rgba(154,89,178,.28); transform:rotate(-8deg); }
.theme-toggle { display:inline-flex; align-items:center; gap:.5rem; padding:.65rem .85rem; border:1px solid var(--line); border-radius:999px; color:var(--ink); background:var(--card); font:600 .85rem/1 "Fredoka",sans-serif; cursor:pointer; box-shadow:0 5px 15px rgba(69,43,104,.08); transition:transform .3s ease, background .4s ease, color .4s ease; }
.theme-toggle:hover { transform:translateY(-2px); }

/* 3. Convite principal */
.hero { display:grid; grid-template-columns:1.03fr .97fr; align-items:center; gap:clamp(2rem, 6vw, 6rem); min-height:calc(100vh - 84px); padding:3rem 0 4rem; }
.eyebrow { display:inline-block; margin:0 0 1.3rem; padding:.5rem 1rem; color:var(--purple); background:color-mix(in srgb, var(--purple) 10%, transparent); border-radius:999px; font-size:.92rem; font-weight:600; letter-spacing:.02em; }
.celebrate { margin:0 0 .25rem; color:var(--pink); font-family:"Pacifico",cursive; font-size:clamp(1.45rem, 3vw, 2.2rem); transform:rotate(-2deg); }
.hero__title { margin:0; font-size:clamp(3.35rem, 8vw, 6.8rem); line-height:.89; letter-spacing:-.065em; }
.hero__title span { color:var(--purple); font-family:"Pacifico",cursive; font-size:.79em; letter-spacing:-.03em; }
.hero__subtitle { max-width:390px; margin:1.5rem 0 1.8rem; color:var(--muted); font-size:clamp(1rem, 1.6vw, 1.18rem); line-height:1.5; }
.event-card { display:flex; align-items:center; width:min(100%, 465px); padding:1rem 1.15rem; border:1px solid var(--line); border-radius:22px; background:var(--card); box-shadow:var(--shadow); backdrop-filter:blur(10px); transition:background .4s ease; }
.event-card__item { display:flex; flex:1; align-items:center; gap:.65rem; min-width:0; }
.event-card__emoji { font-size:1.55rem; }
.event-card strong,.event-card small { display:block; white-space:nowrap; }
.event-card strong { font-size:.92rem; }
.event-card small { margin-top:.16rem; color:var(--muted); font-size:.76rem; }
.event-card__line { width:1px; height:42px; margin:0 .75rem; background:var(--line); }
.event-card__venue { align-items:flex-start; }
.directions-button { display:inline-flex; align-items:center; gap:.3rem; margin-top:.55rem; padding:.45rem .65rem; border:1px solid var(--line); border-radius:999px; color:var(--purple); background:color-mix(in srgb, var(--purple) 9%, transparent); box-shadow:0 4px 10px rgba(96,63,148,.1); text-decoration:none; font-size:.73rem; font-weight:700; transition:transform .3s ease, box-shadow .3s ease, background .3s ease; }
.directions-button:hover { background:color-mix(in srgb, var(--purple) 17%, transparent); transform:translateY(-2px) scale(1.03); box-shadow:0 8px 16px rgba(96,63,148,.2); }
.rsvp-button { display:inline-flex; align-items:center; gap:.65rem; margin-top:1.65rem; padding:1rem 1.35rem; border-radius:999px; color:#fff; background:linear-gradient(120deg, var(--purple), var(--pink)); box-shadow:0 12px 24px rgba(122,75,178,.3); text-decoration:none; font-weight:700; transition:transform .3s ease, box-shadow .3s ease; }
.rsvp-button:hover { transform:translateY(-4px) scale(1.02); box-shadow:0 17px 30px rgba(122,75,178,.4); }
.rsvp-button span { font-size:1.15rem; }
.rsvp-button:active,.directions-button:active { transform:scale(.97); }

/* 4. Ilustração em CSS */
.hero__art { isolation:isolate; min-height:500px; position:relative; display:grid; place-items:center; }
.hero__art::before { content:""; position:absolute; width:min(100%,440px); aspect-ratio:1; border-radius:50%; background:linear-gradient(145deg, #eedcff, #ffcddd); box-shadow:inset 0 0 0 10px rgba(255,255,255,.34), 0 20px 50px rgba(133,87,168,.15); }
.rainbow { position:absolute; top:28px; right:7%; z-index:-1; width:230px; height:115px; overflow:hidden; border-radius:230px 230px 0 0; transform:rotate(12deg); }
.rainbow i { position:absolute; border:15px solid; border-bottom:0; border-radius:50% 50% 0 0; }
.rainbow i:nth-child(1){inset:0;border-color:#ff8fb2}.rainbow i:nth-child(2){inset:15px;border-color:#ffcf6d}.rainbow i:nth-child(3){inset:30px;border-color:#81d4d5}.rainbow i:nth-child(4){inset:45px;border-color:#b293df}
.cloud { position:absolute; width:105px; height:33px; border-radius:50px; background:#fff; filter:drop-shadow(0 5px 5px rgba(83,48,115,.09)); }
.cloud::before,.cloud::after { content:""; position:absolute; bottom:0; border-radius:50%; background:inherit; }.cloud::before{width:48px;height:48px;left:17px}.cloud::after{width:35px;height:35px;right:12px}.cloud--left{top:88px;left:1%;transform:scale(.7)}.cloud--right{right:1%;bottom:70px;transform:scale(.85)}
.photo-placeholder { position:relative; z-index:2; width:245px; height:295px; border:8px solid #fff; border-radius:48% 52% 48% 45%; background:linear-gradient(160deg, #9d79d0, #f48eaf); box-shadow:0 18px 28px rgba(89,48,121,.22); transform:rotate(4deg); overflow:hidden; }
.photo-placeholder__image { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:center 39%; opacity:0; transform:scale(1.05); transition:opacity .8s ease, transform 1.2s ease; }.photo-placeholder__image.is-visible { opacity:1; transform:scale(1.02); }.photo-placeholder__sparkle { position:absolute; z-index:1; top:18px; right:24px; color:var(--yellow); font-size:2rem; text-shadow:0 2px 6px rgba(57,31,70,.4); }
.cake { position:absolute; z-index:3; right:1%; bottom:38px; width:148px; height:125px; filter:drop-shadow(0 13px 7px rgba(94,51,112,.17)); transform:rotate(-5deg); }.cake__base,.cake__middle,.cake__top{position:absolute;left:0;right:0;margin:auto;border-radius:16px}.cake__base{bottom:0;width:148px;height:45px;background:#f187aa}.cake__middle{bottom:39px;width:130px;height:34px;background:#ffd9a2}.cake__top{bottom:68px;width:113px;height:29px;background:#b18bdd}.cake__candle{position:absolute;z-index:1;top:3px;left:68px;width:11px;height:27px;border-radius:8px;background:repeating-linear-gradient(45deg,#fff 0 4px,#f68bad 4px 8px)}.cake__candle::before{content:"";position:absolute;top:-15px;left:-4px;width:19px;height:19px;border-radius:50% 50% 50% 0;background:#ffcf58;transform:rotate(-45deg)}.cake__base i{display:inline-block;width:12px;height:12px;margin:8px 9px;border-radius:50%;background:#fff1d7}.cake__base i:nth-child(2){background:#a679db}
.star { position:absolute; z-index:4; color:var(--yellow); font-size:2.5rem; text-shadow:0 3px 6px rgba(99,63,127,.15); animation:twinkle 2.5s infinite alternate; }.star--one{top:75px;left:15%;}.star--two{right:3%;top:42%;font-size:1.7rem;animation-delay:1s}

/* 5. Encerramento e rodapé */
.closing { max-width:750px; margin:0 auto 4rem; padding:2.1rem 2rem; text-align:center; border:1px solid var(--line); border-radius:30px; background:var(--card); box-shadow:var(--shadow); transition:background .4s ease; }.closing__star{color:var(--yellow);font-size:2rem}.closing h2{max-width:570px;margin:.35rem auto .7rem;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.15}.closing p{margin:0;color:var(--muted)}.footer{padding:0 0 2.2rem;text-align:center;color:var(--muted);font-size:.86rem}.footer span{color:var(--pink)}

/* 6. Fundo animado */
.balloon-field { position:fixed; z-index:0; inset:0; overflow:hidden; pointer-events:none; }.balloon { position:absolute; bottom:-140px; width:52px; height:64px; border-radius:50% 50% 48% 48%; opacity:.26; filter:blur(.1px); animation:float-up var(--duration) linear infinite; }.balloon::before{content:"";position:absolute;left:50%;bottom:-8px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:11px solid currentColor;transform:translateX(-50%)}.balloon::after{content:"";position:absolute;left:50%;top:64px;width:1px;height:80px;background:currentColor;transform:translateX(-50%)}.balloon--pink{left:5%;color:#ef7da5;background:#ef7da5;--duration:17s;--delay:-4s;animation-delay:var(--delay)}.balloon--blue{left:18%;width:35px;height:45px;color:#6bbac7;background:#6bbac7;--duration:22s;--delay:-12s;animation-delay:var(--delay)}.balloon--yellow{left:75%;width:70px;height:85px;color:#f5c74a;background:#f5c74a;--duration:25s;--delay:-19s;animation-delay:var(--delay)}.balloon--purple{left:91%;width:40px;height:51px;color:#a679d6;background:#a679d6;--duration:19s;--delay:-8s;animation-delay:var(--delay)}.balloon--coral{left:42%;width:46px;height:58px;color:#f39679;background:#f39679;--duration:29s;--delay:-25s;animation-delay:var(--delay)}.balloon--mint{left:60%;width:31px;height:40px;color:#75c8bb;background:#75c8bb;--duration:20s;--delay:-14s;animation-delay:var(--delay)}.confetti{position:absolute;width:11px;height:18px;border-radius:4px;opacity:.45;animation:confetti 7s ease-in-out infinite}.confetti--one{top:17%;left:7%;background:var(--yellow);transform:rotate(25deg)}.confetti--two{top:34%;right:8%;background:var(--pink);animation-delay:-2s}.confetti--three{top:78%;left:13%;background:#77cbd0;animation-delay:-4s}.confetti--four{top:68%;right:18%;background:var(--purple);animation-delay:-5s}

/* 7. Animações */
.reveal { opacity:0; transform:translateY(20px); animation:reveal .7s cubic-bezier(.2,.8,.2,1) forwards; }.hero .reveal:nth-child(1){animation-delay:.08s}.hero .reveal:nth-child(2){animation-delay:.17s}.hero .reveal:nth-child(3){animation-delay:.26s}.hero .reveal:nth-child(4){animation-delay:.36s}.hero .reveal:nth-child(5){animation-delay:.46s}.hero .reveal:nth-child(6){animation-delay:.56s}.hero__art.reveal{animation-delay:.35s;transform:translateY(20px) scale(.96)}.closing.reveal{animation-delay:.15s}@keyframes reveal{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes float-up{0%{transform:translate3d(0,0,0) rotate(-4deg)}50%{transform:translate3d(20px,-55vh,0) rotate(7deg)}100%{transform:translate3d(-13px,-125vh,0) rotate(-4deg)}}@keyframes twinkle{to{transform:scale(1.25) rotate(15deg);opacity:.58}}@keyframes confetti{50%{transform:translateY(20px) rotate(160deg)}}

/* 8. Responsividade */
@media (max-width:780px){.container{width:min(100% - 2rem,560px)}.topbar{min-height:70px}.theme-toggle__text{display:none}.theme-toggle{padding:.6rem}.hero{grid-template-columns:1fr;min-height:auto;padding:2.6rem 0 2rem;text-align:center;gap:1.5rem}.hero__content{display:flex;flex-direction:column;align-items:center}.hero__title{font-size:clamp(3.4rem,15vw,5rem)}.hero__subtitle{margin:1.2rem auto 1.5rem}.event-card{text-align:left}.hero__art{min-height:385px;width:min(100%,430px);margin:auto}.hero__art::before{width:350px}.photo-placeholder{width:190px;height:232px}.cake{right:2%;bottom:14px;transform:scale(.8) rotate(-5deg);transform-origin:bottom right}.rainbow{transform:scale(.78) rotate(12deg);transform-origin:top right}.cloud--left{left:0}.closing{margin-bottom:2.5rem;padding:1.7rem 1.25rem}}
@media (max-width:420px){.event-card{padding:.85rem .75rem;border-radius:18px}.event-card__emoji{font-size:1.25rem}.event-card strong{font-size:.8rem}.event-card small{font-size:.68rem}.event-card__line{margin:0 .45rem}.hero__art{min-height:335px;transform:scale(.9)}.hero__art.reveal{margin-top:-18px;margin-bottom:-18px}.closing h2{font-size:1.35rem}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* 9. Tema 3 Palavrinhas */
:root { --ink:#093b91; --muted:#285a99; --paper:#8edbff; --card:rgba(255,255,255,.9); --purple:#2459c4; --violet:#376dd4; --pink:#e62d31; --peach:#ffb529; --yellow:#ffdc29; --line:rgba(20,84,178,.23); --shadow:0 13px 0 rgba(10,88,169,.18),0 20px 36px rgba(18,88,162,.2); --focus:#e62d31; }
body.dark { --ink:#edf8ff; --muted:#badbff; --paper:#061d54; --card:rgba(9,47,110,.9); --purple:#62aaff; --violet:#9ccaff; --pink:#ff6a6d; --peach:#ffcb57; --yellow:#ffe66d; --line:rgba(165,214,255,.28); --shadow:0 13px 0 rgba(0,9,36,.38),0 20px 36px rgba(0,0,0,.3); --focus:#ffe66d; }
body { background:linear-gradient(#64cfff 0 62%,#e8fbff 62% 100%); }
body::before,body::after { content:""; position:fixed; z-index:0; width:180px; height:58px; border-radius:999px; background:rgba(255,255,255,.83); filter:drop-shadow(0 6px 2px rgba(20,105,180,.1)); pointer-events:none; animation:cloud-drift 20s ease-in-out infinite alternate; }
body::before { top:14%; left:-35px; } body::after { right:-35px; bottom:16%; transform:scale(.7); animation-delay:-9s; }
body.dark { background:linear-gradient(#0c4898 0 62%,#082863 62% 100%); }
.topbar { border-bottom:2px solid rgba(255,255,255,.45); }.brand { background:linear-gradient(145deg,#e92d32,#ffc728); border:3px solid #fff; box-shadow:0 4px 0 #0d56b3,0 7px 16px rgba(7,74,160,.3); }.theme-toggle { border:2px solid #fff; background:var(--card); box-shadow:0 4px 0 rgba(11,80,168,.2); }
.hero { gap:clamp(2rem,5vw,4.5rem); }.eyebrow { margin-bottom:.35rem; color:#0b4da8; border:2px solid #fff; background:#ffe362; box-shadow:0 4px 0 rgba(20,93,175,.24); font-weight:700; }.theme-sign { display:flex; align-items:center; gap:.15rem; width:max-content; margin:.1rem 0 .5rem; color:#fff; font-size:clamp(1.6rem,3vw,2.4rem); font-weight:700; line-height:.9; letter-spacing:-.08em; text-shadow:2px 3px 0 #0d3f94,4px 5px 0 rgba(7,62,145,.18); transform:rotate(-3deg); }.theme-sign__number { display:grid; place-items:center; width:1.1em; height:1.1em; color:#fff; background:#e92d32; border:3px solid #fff; border-radius:50%; font-family:"Fredoka",sans-serif; }.theme-sign__word { padding:.1em .25em .13em; border:3px solid #fff; border-radius:.28em; background:linear-gradient(90deg,#e9363a 0 20%,#ffb52c 20% 39%,#1b77d1 39% 59%,#37a74b 59% 78%,#7a51bf 78%); font-family:"Fredoka",sans-serif; }.celebrate { color:#e33438; text-shadow:0 2px 0 #fff; }.hero__title { color:#0755b9; text-shadow:2px 3px 0 #fff,4px 5px 0 rgba(9,64,143,.16); }.hero__title span { text-shadow:2px 3px 0 #fff,4px 5px 0 rgba(9,64,143,.16); }.title-name { display:inline-flex; gap:.01em; font-family:"Fredoka",sans-serif; font-size:.94em; letter-spacing:-.09em; }.title-name b { font-weight:700; }.title-name b:nth-child(1){color:#e9363a}.title-name b:nth-child(2){color:#ffb529}.title-name b:nth-child(3){color:#1b77d1}.title-name b:nth-child(4){color:#38a84c}.title-name b:nth-child(5){color:#7a51bf}.title-name b:nth-child(6){color:#e9363a}.title-phrase { color:#0755b9 !important; font-family:"Fredoka",sans-serif !important; font-size:.73em !important; letter-spacing:-.06em !important; }.title-one { color:#ffbe24 !important; font-family:"Fredoka",sans-serif !important; font-size:1.16em !important; -webkit-text-stroke:3px #e9363a; paint-order:stroke fill; }.hero__subtitle { max-width:435px; color:#073d8b; font-weight:600; }.event-card { border:4px solid #fff; border-radius:26px; background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(226,248,255,.93)); box-shadow:var(--shadow); }.event-card__item { align-items:flex-start; }.event-card__emoji { filter:drop-shadow(0 2px 0 #fff); }.event-card strong { color:#0750b2; }.event-card small { color:#17488b; white-space:normal; line-height:1.25; }.event-card__date strong { color:#e13338; }.event-card__line { align-self:stretch; height:auto; background:linear-gradient(transparent,#72b7e6,transparent); }.directions-button { color:#fff; border:2px solid #fff; background:linear-gradient(135deg,#1284df,#0750b7); box-shadow:0 3px 0 #063d90; }.directions-button:hover { background:linear-gradient(135deg,#209cf1,#0750b7); }.rsvp-button { border:3px solid #fff; background:linear-gradient(135deg,#42b930,#087e36); box-shadow:0 6px 0 #075c2b,0 15px 25px rgba(7,110,48,.29); font-size:1.05rem; }.rsvp-button:hover { box-shadow:0 9px 0 #075c2b,0 18px 26px rgba(7,110,48,.32); }
.hero__art::before { width:min(100%,455px); background:radial-gradient(circle at 50% 25%,#fff 0 17%,transparent 17.5%),linear-gradient(145deg,#fff 5%,#e7f9ff 65%); border:7px solid #fff; box-shadow:0 12px 0 rgba(10,90,177,.16),0 20px 50px rgba(12,100,177,.22); }.rainbow { top:11px; right:1%; }.rainbow i:nth-child(1){border-color:#e9363a}.rainbow i:nth-child(2){border-color:#ffad25}.rainbow i:nth-child(3){border-color:#ffd92c}.rainbow i:nth-child(4){border-color:#42a94c}.cloud { background:#fff; }.photo-placeholder { width:250px; height:300px; border:9px solid #fff; outline:5px solid #ffc827; border-radius:42% 54% 46% 52%; box-shadow:0 8px 0 #1473cd,0 18px 28px rgba(8,82,169,.28); transform:rotate(-3deg); }.photo-placeholder::after { content:"★"; position:absolute; z-index:3; right:-22px; bottom:24px; width:46px; height:46px; display:grid; place-items:center; color:#ffbf20; background:#e93437; border:3px solid #fff; border-radius:50%; font-size:1.5rem; transform:rotate(15deg); }.photo-placeholder__image { object-position:center 35%; }.photo-placeholder__sparkle { top:12px; right:14px; font-size:2.1rem; }.cake { filter:drop-shadow(0 10px 5px rgba(5,75,150,.2)); }.cake__base{background:#e9373e}.cake__middle{background:#ffca2d}.cake__top{background:#3475d6}.star { color:#ffdd29; }.star--one { left:5%; }.star--two { color:#e9363a; }
.gifts { max-width:750px; margin:0 auto 2rem; padding:1.5rem 1.7rem; border:4px solid #fff; border-radius:28px; background:linear-gradient(145deg,#fff8cf,#fff); box-shadow:var(--shadow); color:#134b9f; }.gifts__heading { display:flex; align-items:center; justify-content:center; gap:.7rem; text-align:center; }.gifts__heading > span { font-size:2.6rem; }.gifts__heading p { margin:0; color:#e33438; font-weight:700; }.gifts h2 { margin:.05rem 0 0; font-size:1.45rem; }.gifts__list { display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem; margin:1.25rem 0 0; padding:0; list-style:none; }.gifts__list li { min-height:80px; display:flex; flex-direction:column; justify-content:center; padding:.7rem; border:2px dashed #f0b936; border-radius:16px; background:rgba(255,255,255,.72); font-size:.9rem; line-height:1.25; }.gifts__list span { margin-bottom:.22rem; font-size:1.55rem; }.gifts__list li:nth-child(2) strong { color:#e33438; }.gifts__list li:nth-child(3) strong { color:#158a3d; }
.closing { border:4px solid #fff; background:linear-gradient(145deg,#fff,#e4f9ff); }.closing__star { color:#f4b91d; }.closing h2 { color:#0750b2; }.closing p { color:#17488b; font-weight:600; }.footer { color:#073d8b; font-size:1rem; }.footer strong { color:#e33438; }.footer span { color:#e33438; }.balloon { opacity:.55; }.balloon--pink{color:#e9363a;background:#e9363a}.balloon--blue{color:#1675d1;background:#1675d1}.balloon--yellow{color:#ffd326;background:#ffd326}.balloon--purple{color:#7a51bf;background:#7a51bf}.balloon--coral{color:#f68827;background:#f68827}.balloon--mint{color:#38ad54;background:#38ad54}.confetti{opacity:.72}.confetti--one{background:#ffdb29}.confetti--two{background:#e9363a}.confetti--three{background:#1980d8}.confetti--four{background:#39a84d}
@keyframes cloud-drift { to { transform:translateX(80px); } }
@media (max-width:780px){.theme-sign{margin-inline:auto}.event-card{align-items:stretch}.event-card__line{height:auto}.gifts{padding:1.3rem 1rem}.gifts__list{grid-template-columns:1fr}.gifts__list li{min-height:auto;flex-direction:row;align-items:center;gap:.6rem}.gifts__list span{margin:0}.photo-placeholder{width:190px;height:232px}.hero__art::before{width:350px}}
@media (max-width:420px){.event-card{flex-direction:column;gap:.85rem}.event-card__line{width:90%;height:1px;margin:0 auto}.event-card__item{width:100%}.event-card__venue{align-items:flex-start}}

/* Ajuste de prioridade para o título multicolorido */
.hero__title .title-name { display:inline-flex; gap:.01em; font-family:"Fredoka",sans-serif !important; font-size:.94em !important; letter-spacing:-.09em; }

/* Cartões de presentes: conteúdo centralizado e ícones ilustrados */
.gifts__list li { display:grid; place-items:center; gap:.35rem; text-align:center; }.gifts__list li > span { display:block; margin:0; font-size:.9rem; }.gifts__list li small { display:block; margin-top:.08rem; color:#17488b; font-size:.95em; font-weight:600; }.gift-icon { width:38px; height:38px; fill:none; stroke:currentColor; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 2px 0 rgba(255,255,255,.8)); }.gift-icon--clothes { color:#0757ba; fill:none; }.gift-icon--clothes .gift-icon__shirt { fill:#2184df; }.gift-icon--clothes .gift-icon__collar { fill:none; stroke:#fff; stroke-width:3; }.gift-icon--shoes { color:#e9363a; fill:rgba(233,54,58,.13); }.gift-icon--car { color:#35a74a; fill:none; }.gift-icon--car .gift-icon__car { fill:rgba(33,132,223,.22); stroke:#1675d1; }.gift-icon--car .gift-icon__puzzle { fill:rgba(255,190,36,.32); stroke:#f09914; }
@media (max-width:780px){.gifts__list li { min-height:110px; display:grid; place-items:center; gap:.35rem; }.gifts__list li > span { text-align:center; }.gift-icon { width:36px; height:36px; }}

/* Informações do evento: leitura centralizada em todos os tamanhos */
.event-card__item { justify-content:center; text-align:center; }.event-card__venue { align-items:center; }.event-card__venue > span:last-child { text-align:center; }.directions-button { margin-inline:auto; }
@media (max-width:780px){.event-card strong{font-size:1.05rem}.event-card small{font-size:.9rem}.event-card__emoji{font-size:1.7rem}.directions-button{font-size:.82rem;padding:.52rem .8rem}}
@media (max-width:420px){.event-card strong{font-size:1rem}.event-card small{font-size:.86rem}.event-card__emoji{font-size:1.55rem}}

/* Respiro extra entre os blocos no celular */
@media (max-width:600px){.rsvp-button{margin-bottom:1.25rem}.gifts{margin-top:1.75rem}.hero__art.reveal{margin-top:0;margin-bottom:1rem}}
