@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&family=Great+Vibes&display=swap');
:root{--ink:#2e4d5e;--blue:#668ca1;--soft:#e9f0f3;--line:#d8e2e6;--paper:#fbfcfc;--muted:#607780;--sage:#759681}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-underline-offset:5px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #668ca1;outline-offset:4px}h1,h2,h3,p{margin:0}h2{font:500 clamp(38px,4.5vw,60px)/1.08 'Cormorant Garamond',Georgia,serif;letter-spacing:-1px}h2 em{font-weight:400}h3{font:500 29px/1.15 'Cormorant Garamond',Georgia,serif}p+p{margin-top:10px}.preview{background:#e3edf2;text-align:center;font-size:12px;letter-spacing:1px;padding:8px 14px}.preview span{margin:0 12px}header{height:94px;max-width:1320px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.monogram{font:30px Georgia,serif;text-decoration:none}.monogram i{color:#9cb8c6;font-size:24px}nav{display:flex;gap:35px}nav a{font-size:14px;text-decoration:none}nav a:hover{color:var(--blue)}.button{border:1px solid var(--ink);background:var(--ink);color:white;text-decoration:none;padding:15px 25px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;letter-spacing:.3px;transition:background .2s,transform .2s;border-radius:3px}.button:hover{background:#42677b;transform:translateY(-1px)}.button.small{padding:10px 25px}.button.full{width:100%}.hero{max-width:1440px;min-height:720px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;padding:60px 9% 65px;position:relative;overflow:hidden;gap:60px}.hero-copy{z-index:2;text-align:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.3px}.hero h1{font:400 clamp(62px,6.7vw,104px)/1.25 'Great Vibes','Brush Script MT',cursive;margin:24px -30px 12px;white-space:nowrap}.hero h1 em{font-family:'Cormorant Garamond',Georgia,serif;font-size:.7em;font-weight:400;color:#8fabbb}.date{font:24px Georgia,serif;letter-spacing:5px}.date span{color:#a8bdc9;margin:0 8px}.intro{margin:26px 0 30px;line-height:1.8;color:var(--muted)}.hero-foot{font-size:10px;letter-spacing:1.9px;margin-top:30px}.portrait-wrap{position:relative;z-index:1;padding-bottom:25px}.portrait{height:520px;border-radius:220px 220px 4px 4px;overflow:hidden;outline:1px solid #afc6d2;outline-offset:12px}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.portrait-caption{position:absolute;bottom:0;left:50%;transform:translateX(-50%) rotate(-4deg);width:max-content;background:var(--paper);padding:8px 17px;font:italic 23px 'Cormorant Garamond',Georgia,serif}.hero-floral{position:absolute;left:-130px;bottom:-100px;width:430px;height:430px;background:url('assets/hortensias.png') center/contain no-repeat;pointer-events:none;opacity:.9}.verse{text-align:center;background:#edf3f6;padding:45px 20px}.ornament{color:var(--blue);font-size:27px}.verse blockquote{font:italic 28px/1.5 'Cormorant Garamond',Georgia,serif;margin:10px auto 20px}.verse p{font-size:11px;letter-spacing:2px}.section{max-width:1240px;margin:auto;padding:90px 5%}.celebration,.location{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:45px;align-items:center}.celebration h2,.location h2{margin:18px 0 22px}.celebration>div>p:not(.eyebrow){max-width:350px;color:var(--muted)}.event{border-left:1px solid var(--line);padding:20px 0 20px 30px}.event-number{font:italic 42px 'Cormorant Garamond',Georgia,serif;color:#aac0cc}.event .eyebrow{margin:20px 0 12px}.event h3{margin-bottom:20px}.event p{font-size:14px}.muted{color:var(--muted)}.gift-section{background:#f1f5f6;padding:85px max(5%,calc((100vw - 1120px)/2))}.section-heading{text-align:center;max-width:700px;margin:auto}.section-heading h2{margin:15px 0 22px}.section-heading>p:not(.eyebrow){color:var(--muted)}.disclosure{font-size:12px;line-height:1.6;color:var(--muted);margin-top:18px!important}.catalog-tools{margin:42px 0 25px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button,.presets button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:3px;padding:8px 14px;font-size:13px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.text-button{background:none;border:0;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:6px}.scenario-note{background:#fff3dc;color:#755a28;padding:12px 16px;margin:0 0 20px;font-size:14px}.gift-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.gift-card{background:white;border:1px solid #e1e8eb;border-radius:4px;overflow:hidden;transition:transform .2s,box-shadow .2s}.gift-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #2e4d5e0d}.gift-img{height:225px;background:#fff;overflow:hidden}.gift-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.gift-card:hover img{transform:scale(1.035)}.gift-card.contain .gift-img img{object-fit:contain;padding:15px}.gift-body{padding:20px}.gift-category{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}.gift-body h3{font-size:25px;margin:7px 0 10px}.gift-price{font-size:16px;font-weight:500}.gift-price small{font-size:12px;font-weight:400;color:var(--muted)}.bar{height:5px;border-radius:8px;background:#e8eef1;display:flex;overflow:hidden;margin:13px 0 7px}.bar .received{background:var(--sage)}.bar .projected{background:#98bdd1;transition:width .6s ease}.bar span{height:100%;display:block;transition:width .6s}.progress-label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:5px}.gift-body button{margin-top:20px;width:100%;padding:10px;background:white;color:var(--ink);border:1px solid #b9cdd7;border-radius:3px;font-size:13px}.gift-body button:hover{background:var(--soft)}.contribution-section{display:grid;grid-template-columns:1fr 1.05fr;gap:100px;max-width:1140px;margin:auto;padding:100px 4%;align-items:start}.contribution-copy{padding-top:40px}.contribution-copy h2{margin:20px 0 25px}.contribution-copy>p:not(.eyebrow){max-width:390px;color:var(--muted)}.mini-photo{display:flex;align-items:center;margin-top:42px;gap:25px}.mini-photo img{width:120px;height:155px;object-fit:cover;object-position:50% 60%;border-radius:65px 65px 3px 3px}.mini-photo span{font:italic 26px/1.2 'Cormorant Garamond',Georgia,serif}.contribution-card{background:white;padding:32px;border:1px solid var(--line);box-shadow:0 15px 65px #2e4d5e08;border-radius:6px}.contribution-card>label{font-size:14px}.money-input{display:flex;border-bottom:1px solid #b7ccd7;align-items:center;margin:14px 0 18px;gap:15px}.money-input span{font:26px 'Cormorant Garamond',Georgia,serif}.money-input input{border:0;background:none;min-width:0;width:100%;font:50px 'Cormorant Garamond',Georgia,serif;padding:5px 0;color:var(--ink)}.presets{display:flex;flex-wrap:wrap;gap:8px}.presets button:hover{background:var(--soft)}.error{color:#9b3737;font-size:13px;min-height:20px;margin:8px 0}.allocation-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:8px 0 12px}.allocation-head strong{font-size:13px}.allocation-head span{font-size:9px;letter-spacing:1px;color:var(--muted)}.allocation{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e6edef}.allocation img{width:48px;height:52px;object-fit:cover;border-radius:3px}.allocation strong{font-size:13px;font-weight:500}.allocation .bar{margin:7px 0 4px}.allocation small{font-size:11px;color:var(--muted);display:block}.allocation .value{text-align:right;font-size:13px}.allocation .flower{color:var(--sage);font-size:19px;animation:blossom .7s ease}.suggestion{background:#eff5f1;padding:14px 17px;margin:18px 0;color:#436a53;font-size:13px;border-radius:3px}.suggestion:empty{display:none}.suggestion button{display:block;color:#34563f;background:transparent;border:0;border-bottom:1px solid #8ca897;padding:4px 0;margin-top:6px;font-size:13px}.contribution-card>small{display:block;text-align:center;font-size:11px;color:var(--muted);margin-top:12px}.location{border-top:1px solid var(--line)}.location-card{padding-left:25px;border-left:1px solid var(--line)}.location-card h3{margin:12px 0 15px}.location-card p,.location-card a,.pending{font-size:13px}.pending{color:var(--muted);display:block;margin-top:20px}.location-card a{display:inline-block;margin-top:20px}.closing{text-align:center;padding:75px 20px;background:#eaf1f5}.closing h2{margin:20px 0}.signature{font:50px 'Great Vibes','Brush Script MT',cursive}.closing>p:last-child{font-size:13px;margin-top:16px}footer{padding:25px 5%;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:8px;padding:36px;width:min(540px,calc(100% - 28px));max-height:90vh;overflow-y:auto;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#1c344c75;backdrop-filter:blur(5px)}.close{position:absolute;right:12px;top:8px;background:white;border:1px solid var(--line);border-radius:50%;width:34px;height:34px;font-size:25px;line-height:1;color:var(--ink);z-index:2}dialog h2{font-size:40px;margin:15px 0 22px}dialog .detail-image{width:100%;height:220px;object-fit:contain;background:white;margin-bottom:20px;border-radius:3px}dialog h3{margin:12px 0}dialog p{font-size:14px}dialog form{margin-top:20px}dialog label{display:block;font-size:13px;margin:14px 0}dialog input,dialog textarea{width:100%;padding:12px;border:1px solid #bfced5;border-radius:3px;margin-top:6px;background:white;color:var(--ink)}dialog textarea{min-height:80px;resize:vertical}dialog .disclosure{margin-bottom:18px}.bloom{display:block;text-align:center;font-size:65px;color:var(--blue);animation:blossom 1s ease}#thanks{text-align:center}#thanks button{margin-top:24px}.total-line{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0;font-weight:500}.detail-amount{font-size:28px!important}.legend{font-size:11px;margin:14px 0;color:var(--muted)}@keyframes blossom{from{opacity:0;transform:scale(.4) rotate(-30deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(min-width:1500px){.hero{min-height:770px}.portrait{height:570px}}@media(max-width:1050px){.hero{padding:55px 6%;gap:35px;min-height:650px}.portrait{height:460px}.hero h1{font-size:75px}.gift-grid{grid-template-columns:repeat(3,1fr)}.contribution-section{gap:45px}.celebration,.location{gap:22px}.event{padding-left:20px}.eyebrow{letter-spacing:1.6px}}@media(max-width:760px){.preview{font-size:10px;letter-spacing:0}.preview span{margin:0 5px}header{height:76px;padding:0 6%}nav{gap:18px}nav a{font-size:12px}nav a:last-child{display:none}header .button{display:none}.hero{padding:46px 7% 55px;display:flex;flex-direction:column;gap:40px}.hero-copy{width:100%}.hero .eyebrow{font-size:10px}.hero h1{font-size:76px;margin:20px 0 8px}.date{font-size:20px}.intro{font-size:15px;margin:20px 0 24px}.hero-foot{display:none}.portrait-wrap{width:75%;max-width:330px}.portrait{height:360px}.hero-floral{width:280px;height:320px;left:-90px;bottom:-20px}.verse{padding:35px 20px}.verse blockquote{font-size:24px}.verse br{display:none}.section{padding:55px 7%}.celebration,.location{grid-template-columns:1fr 1fr;gap:30px 20px}.celebration>div:first-child,.location>div:first-child{grid-column:1/-1}.celebration h2 br,.location h2 br{display:none}.event{padding:0 0 0 15px}.event h3{font-size:26px}.event-number{font-size:35px}.event .eyebrow{font-size:10px}.event p{font-size:13px}.gift-section{padding:55px 5%}.section-heading{padding:0 8px}.section-heading h2{font-size:42px}.section-heading>p{font-size:14px}.catalog-tools{margin:27px 0 20px;gap:12px}.filters{gap:6px}.filters button{font-size:12px;padding:7px 10px}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.gift-img{height:185px}.gift-body{padding:13px}.gift-body h3{font-size:24px;min-height:55px;display:flex;align-items:center;line-height:1.05}.gift-price{font-size:14px}.gift-price small{display:block;font-size:10px}.progress-label{font-size:10px}.gift-body button{margin-top:15px;padding:10px 4px;font-size:12px}.contribution-section{grid-template-columns:1fr;padding:55px 6%;gap:28px}.contribution-copy{padding:0}.contribution-copy h2{font-size:46px}.mini-photo{display:none}.contribution-card{padding:23px}.location-card{padding-left:12px}.location-card .eyebrow{font-size:10px}.location-card h3{font-size:27px}.closing{padding:55px 20px}footer{flex-direction:column;text-align:center}dialog{padding:28px 23px}.allocation-head{align-items:flex-start}.allocation-head span{padding-top:3px}}@media(max-width:370px){.hero h1{font-size:65px}.gift-img{height:155px}.gift-body h3{font-size:22px}.progress-label{flex-direction:column;gap:0}.presets button{padding:7px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* A história do casal: flores, fotografia e pausas na leitura. */
.hero{background:linear-gradient(135deg,#fbfcfc 20%,#eef3f5 100%)}
.portrait{background:#303231;outline-color:#adc1c9;border:7px solid #fff;box-shadow:0 20px 55px #243c4917}
.portrait img{object-position:50% 24%}
.hero-floral{left:-105px;bottom:-75px;width:440px;height:440px;opacity:.96}
.portrait-flowers{position:absolute;right:-65px;bottom:-85px;width:360px;transform:scaleX(-1);pointer-events:none;z-index:1}
.hero-copy,.portrait-wrap{z-index:2}
.story{display:grid;grid-template-columns:1fr 1.1fr;gap:95px;align-items:center;position:relative;padding-top:115px;padding-bottom:115px;overflow:hidden}
.story-picture{max-width:370px;position:relative;transform:rotate(-3deg);padding:13px 13px 45px;background:white;box-shadow:0 12px 45px #315a7012;border:1px solid #e5ecef;margin-left:25px}
.story-picture>img{display:block;width:100%;height:365px;object-fit:cover;object-position:50% 45%}
.story-picture>span{position:absolute;bottom:13px;width:calc(100% - 26px);text-align:center;font:italic 22px 'Cormorant Garamond',Georgia,serif}
.story-copy{position:relative;z-index:1}.story-copy h2{margin:18px 0 28px}.story-copy>p:not(.eyebrow){max-width:460px;color:var(--muted);line-height:1.9}.story-copy>p+p{margin-top:18px}
.story-line{width:55px;height:1px;background:#a2bac7;margin:28px 0}.story-note{font:italic 25px/1.5 'Cormorant Garamond',Georgia,serif!important;color:var(--ink)!important}
.story-flowers{position:absolute;width:230px;left:-65px;bottom:-65px;pointer-events:none}
.verse{position:relative;background:linear-gradient(90deg,#e6eef3,#f3f6f8,#e6eef3)}
.story-bridge{text-align:center;position:relative;overflow:hidden;background:#eaf1f5;padding:80px 22px 85px}.story-bridge h2{margin:20px 0 25px}.story-bridge>p:not(.eyebrow){max-width:610px;margin:18px auto;position:relative}.story-bridge>img{position:absolute;right:-100px;bottom:-105px;width:400px;transform:scaleX(-1);opacity:.7;pointer-events:none}.story-bridge>h2,.story-bridge>.eyebrow{position:relative}
.gift-section{background:#f7f9fa}.catalog-tools{justify-content:center}.gift-body button{min-height:43px}.contribution-copy{position:relative}.contribution-copy::after{content:'';display:block;width:170px;height:170px;background:url('assets/hortensias.png') center/contain no-repeat;opacity:.8;margin:25px 0 0 170px}.closing{position:relative;overflow:hidden;padding:85px 20px 90px}.closing>p,.closing>h2{position:relative;z-index:1}.closing-flowers{position:absolute;width:390px;bottom:-90px;pointer-events:none}.closing-flowers.left{left:-100px}.closing-flowers.right{right:-100px;transform:scaleX(-1)}.payment-soon{text-align:center;padding-top:10px}.payment-soon .bloom{font-size:40px}.payment-soon button{margin-top:22px}.payment-soon p{margin-top:15px;color:var(--muted)}
@media(max-width:1050px){.story{gap:45px}.story-picture{margin-left:5px}.portrait-flowers{width:280px;right:-65px;bottom:-65px}.story-bridge>img{width:280px;opacity:.45}.closing-flowers{width:300px;opacity:.65}}
@media(max-width:760px){nav a:first-child{display:none}.hero{padding-bottom:75px}.portrait{height:400px}.portrait img{object-position:50% 20%}.hero-floral{width:260px;height:300px;left:-70px;bottom:-35px}.portrait-flowers{width:230px;right:-80px;bottom:-45px;z-index:2}.story{grid-template-columns:1fr;gap:45px;padding:65px 8% 75px}.story-picture{max-width:285px;width:85%;margin:0 auto}.story-picture>img{height:300px}.story-picture>span{font-size:20px}.story-copy h2{font-size:43px}.story-copy>p:not(.eyebrow){font-size:15px}.story-flowers{width:150px;bottom:-50px;left:auto;right:-60px;transform:scaleX(-1)}.story-bridge{padding:60px 8%}.story-bridge>img{width:210px;right:-100px;bottom:-60px;opacity:.35}.story-bridge>p:not(.eyebrow){font-size:15px}.contribution-copy::after{display:none}.closing{padding:65px 25px 115px}.closing h2{font-size:37px}.closing-flowers{width:210px;bottom:-65px;opacity:.8}.closing-flowers.left{left:-85px}.closing-flowers.right{right:-85px}}
.portrait img{object-position:50% 0%;padding-top:32px;background:#242522}
@media(max-width:760px){.portrait img{object-position:50% 0%;padding-top:22px}}
@media(max-width:760px){.hero h1{font-size:clamp(50px,16vw,76px)}}
/* Mobile: flores inteiras, leitura confortável e ações acessíveis ao toque. */
@media(max-width:760px){
 html{scroll-padding-top:24px}
 header{height:auto;min-height:78px;padding:16px 6%;flex-wrap:wrap;gap:8px 18px}
 nav{gap:8px 18px;flex-wrap:wrap;justify-content:flex-end}
 nav a{min-height:44px;display:inline-flex;align-items:center;font-size:13px}
 nav a:last-child{display:inline-flex}
 .hero{padding:32px 24px 20px;gap:28px;min-height:0;overflow:visible}
 .hero-copy .eyebrow{font-size:10px;letter-spacing:1.5px}
 .hero h1{font-size:clamp(50px,16vw,76px)}
 .intro{font-size:16px;line-height:1.75}
 .hero .button{width:100%;max-width:330px;min-height:50px;padding:14px 16px}
 .portrait-wrap{width:calc(100% - 26px);max-width:340px;margin:10px auto 0}
 .portrait{height:auto;aspect-ratio:3/4}
 .portrait img{display:block;object-fit:cover;padding-top:20px}
 .portrait-caption{font-size:clamp(18px,5.2vw,23px);max-width:calc(100% + 18px);text-align:center;padding:8px 10px}
 .hero-floral{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1.7;max-width:310px;background-size:contain;margin:-10px auto 0;opacity:1}
 .portrait-flowers{display:none}
 .story{padding:40px 24px 24px;gap:30px;overflow:visible}
 .story-picture{width:calc(100% - 20px);max-width:310px}
 .story-copy h2{font-size:42px}
 .story-copy>p:not(.eyebrow){font-size:16px;line-height:1.8}
 .story-flowers{position:relative;inset:auto;display:block;width:170px;max-width:100%;margin:0 auto;transform:none}
 .celebration,.location{grid-template-columns:1fr;padding:48px 24px;gap:24px}
 .event,.location-card{border:1px solid var(--line);border-radius:12px;padding:24px;background:white}
 .event .eyebrow{margin:8px 0}.event h3{margin-bottom:14px}
 .event p,.location-card p{font-size:16px}
 .story-bridge{display:flex;flex-direction:column;padding:40px 24px 24px;overflow:visible}
 .story-bridge>img{position:relative;inset:auto;order:5;width:180px;max-width:100%;margin:16px auto 0;opacity:1}
 .story-bridge>p:not(.eyebrow){font-size:16px}
 .filters{justify-content:center}.filters button,.presets button{min-height:44px}
 .gift-body button{min-height:48px}
 .allocation{gap:8px;grid-template-columns:40px minmax(0,1fr) auto}.allocation img{width:40px}
 .contribution-card{padding:20px 16px}.contribution-card>label{font-size:16px}
 .closing{display:grid;grid-template-columns:1fr 1fr;padding:40px 24px 20px;gap:8px;overflow:visible}
 .closing>p,.closing>h2{grid-column:1/-1}.closing h2{font-size:36px}
 .closing-flowers{position:relative;inset:auto!important;width:100%;max-width:190px;opacity:1;order:5;justify-self:center}
 .location-card a{min-height:48px;padding:12px 14px;display:flex;align-items:center;justify-content:center;text-align:center}
 .location-card .button{font-size:15px;width:100%;margin-top:20px}
 dialog{padding:30px 20px}.close{min-width:44px;min-height:44px}
}
@media(max-width:350px){header{justify-content:center}nav{justify-content:center}.gift-grid{grid-template-columns:1fr}.gift-body h3{min-height:0}.gift-img{height:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
