:root{--ink:#31292b;--muted:#74686b;--paper:#fffaf8;--rose:#f6dedf;--rose-strong:#d86773;--wine:#9d3e4b;--line:#eadbdd;--shadow:0 24px 70px rgba(83,40,48,.12);font-family:Georgia,"Times New Roman",serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden}body{background:radial-gradient(circle at 75% 15%,#fff 0 10%,transparent 35%),var(--paper);font-size:16px}.ambient{position:fixed;border-radius:50%;filter:blur(3px);pointer-events:none;z-index:-1}.ambient-one{width:24rem;height:24rem;background:#f8e4e7;top:-11rem;left:-9rem}.ambient-two{width:18rem;height:18rem;background:#f3e9e1;bottom:-9rem;right:-6rem}.experience{min-height:100dvh}.scene{min-height:100dvh;display:grid;place-items:center;padding:4.5rem 1.5rem;position:relative;isolation:isolate;animation:scene-in .75s both}.scene[hidden]{display:none}.content{width:min(100%,760px)}.content--center{text-align:center}.content--narrow{width:min(100%,680px)}.content--wide{width:min(100%,1080px)}.intro:after,.transition:after{content:"";position:absolute;width:min(70vw,660px);height:min(70vw,660px);border:1px solid var(--line);border-radius:50%;z-index:-1}.eyebrow{font-family:system-ui,sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.69rem;color:var(--wine);font-weight:700;margin:0 0 1.35rem}h1,h2{font-weight:400;letter-spacing:-.045em;line-height:1.04;margin:0;color:var(--ink)}h1{font-size:clamp(3.2rem,10vw,6.7rem)}h2{font-size:clamp(2.45rem,6vw,4.7rem)}.lead{font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.65;color:var(--muted);max-width:48ch;margin:1.5rem auto 2rem}.button{appearance:none;border:0;border-radius:999px;min-height:52px;padding:.85rem 1.45rem;font:700 .9rem/1 system-ui,sans-serif;letter-spacing:.04em;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s;touch-action:manipulation}.button:focus-visible,.music-toggle:focus-visible,.lightbox-close:focus-visible{outline:3px solid #7f3541;outline-offset:4px}.button:hover{transform:translateY(-3px)}.button--primary{background:var(--wine);color:#fff;box-shadow:0 10px 24px rgba(126,44,57,.22)}.button--primary:hover{background:#7f3541;box-shadow:0 15px 30px rgba(126,44,57,.28)}.button--ghost{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 7px 18px rgba(83,40,48,.07)}.scroll-hint{position:absolute;bottom:1.75rem;margin:0;font:600 .68rem system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.letter-text{margin:2rem 0 2.5rem;font-size:clamp(1.18rem,2.1vw,1.42rem);line-height:1.8;color:#514649}.letter-text p{opacity:0;transform:translateY(12px);animation:paragraph-in .7s forwards}.section-heading{text-align:center;margin:0 auto 2.7rem;max-width:650px}.section-heading h2{font-size:clamp(2.25rem,5vw,3.9rem)}.section-heading p:not(.eyebrow){color:var(--muted);line-height:1.6}.photo-grid{columns:3 220px;gap:1rem;margin-bottom:2.6rem}.photo-card{width:100%;display:block;break-inside:avoid;margin:0 0 1rem;border:0;border-radius:18px;overflow:hidden;background:#f4e8e5;box-shadow:0 9px 25px rgba(83,40,48,.10);cursor:zoom-in;padding:0;position:relative;animation:photo-in .6s both}.photo-card:nth-child(2n){animation-delay:.1s}.photo-card:nth-child(3n){animation-delay:.2s}.photo-card img{display:block;width:100%;min-height:210px;object-fit:cover;transition:transform .45s}.photo-card:hover img{transform:scale(1.045)}.photo-card figcaption{position:absolute;inset:auto 0 0;padding:2.5rem 1rem .9rem;color:white;text-align:left;font:500 .95rem/1.3 system-ui,sans-serif;background:linear-gradient(transparent,rgba(26,13,15,.6));opacity:0;transition:opacity .3s}.photo-card:hover figcaption{opacity:1}.photo-placeholder{min-height:260px;display:grid;place-items:center;padding:1rem;background:linear-gradient(135deg,#f8e6e5,#ecdfe7);color:var(--wine);font:700 .75rem system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}.gallery>.content>.button{display:block;margin:auto}.transition h2{max-width:800px}.question{background:linear-gradient(160deg,rgba(255,250,248,.68),rgba(237,215,209,.8)),url('assets/serra-da-canastra.jpg') center/cover}.question:before{content:"";position:absolute;inset:0;background:rgba(255,250,248,.78);z-index:-1}.question-content{min-height:440px;display:grid;align-content:center;justify-items:center}.question h2{max-width:920px}.answer-area{height:150px;width:min(100%,520px);position:relative;margin-top:1.6rem;display:flex;justify-content:center;gap:1rem;align-items:flex-start}.button--yes{min-width:126px}.button--no{min-width:104px;position:relative}.no-message{height:1.4rem;color:var(--wine);font:600 .9rem system-ui,sans-serif;margin:1.5rem 0 0}.success{background:linear-gradient(155deg,#fff9f6,#f6e2e2)}.success-content{position:relative}.success h2{font-size:clamp(4rem,12vw,7.8rem);color:var(--wine);animation:heart-beat 1.3s ease-in-out infinite}.success-note{font-style:italic;color:var(--muted);font-size:1.15rem}.destination-card{margin:2.5rem auto 0;width:min(100%,430px);border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--shadow);text-align:left}.destination-card img{width:100%;height:170px;object-fit:cover;display:block}.destination-card>div{padding:1rem 1.2rem}.destination-card span{display:block;color:var(--wine);font:700 .65rem system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.4rem}.destination-card strong{font-size:1.35rem;font-weight:400}.celebration{position:fixed;inset:0;pointer-events:none;overflow:hidden}.confetti{position:absolute;top:-2rem;animation:fall 4s linear forwards;font-size:1.2rem}.music-player{position:fixed;right:1rem;bottom:1rem;z-index:5;display:flex;align-items:center;gap:.55rem;border:1px solid rgba(234,219,221,.9);border-radius:999px;padding:.38rem .55rem;background:rgba(255,250,248,.86);box-shadow:0 6px 20px rgba(83,40,48,.1);backdrop-filter:blur(10px)}.music-toggle{border:0;width:32px;height:32px;border-radius:50%;background:var(--wine);color:white;font-size:1rem;cursor:pointer}.music-player input{width:68px;accent-color:var(--wine)}.lightbox{position:fixed;z-index:20;inset:0;background:rgba(30,20,22,.88);display:grid;place-items:center;padding:2rem}.lightbox[hidden]{display:none}.lightbox figure{margin:0;max-width:min(92vw,900px);max-height:90vh}.lightbox img{display:block;max-width:100%;max-height:80vh;border-radius:10px}.lightbox figcaption{text-align:center;color:#fff;margin-top:.8rem;font:500 .95rem system-ui,sans-serif}.lightbox-close{position:absolute;top:1rem;right:1.2rem;color:#fff;background:transparent;border:0;font-size:2.6rem;line-height:1;cursor:pointer}.loading{position:fixed;inset:0;z-index:99;display:grid;place-content:center;gap:.8rem;background:var(--paper);color:var(--ink);text-align:center;font-size:1.15rem;transition:opacity .6s,visibility .6s}.loading b{font-size:1.4rem;color:var(--rose-strong);animation:heart-beat 1.3s infinite}.loading.is-done{opacity:0;visibility:hidden}.noscript{position:fixed;inset:auto 0 0;background:#332b2d;color:#fff;padding:1rem;text-align:center;margin:0;font-family:system-ui,sans-serif}@keyframes scene-in{from{opacity:0;transform:scale(.985);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@keyframes paragraph-in{to{opacity:1;transform:none}}@keyframes photo-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes heart-beat{50%{transform:scale(1.07)}}@keyframes fall{to{transform:translate(var(--drift),110vh) rotate(540deg);opacity:0}}@media(max-width:600px){.scene{padding:4rem 1.15rem}.photo-grid{columns:2 145px;gap:.7rem}.photo-card{margin-bottom:.7rem}.photo-card figcaption{opacity:1;font-size:.75rem}.answer-area{height:225px}.button--no{position:absolute}.music-player{right:.7rem;bottom:.7rem}.intro:after,.transition:after{width:100vw;height:100vw}.destination-card img{height:145px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
