:root{--serif:'Cormorant Garamond','Bodoni MT',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--gold:#aa8752}
body{font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased}h1,h2,.names,.time,.event h3,footer blockquote,.footnames,nav>b{font-family:var(--serif)}
.overline{font-family:var(--sans);font-size:10px;letter-spacing:.23em;font-weight:500}.btn,.abrir-convite{font-family:var(--sans);font-weight:500;letter-spacing:.11em}input,select,textarea{font-family:var(--sans)}
nav>b{font-size:28px;letter-spacing:.07em}nav a{font-size:11px}.letter p{font-size:15px;line-height:1.95}.names{font-size:27px;line-height:1.5}.event h3{font-size:35px;line-height:1.15}.intro blockquote{font-family:var(--serif);font-size:clamp(29px,4.3vw,45px);font-weight:400}.time{font-weight:400;font-size:80px}
header h1{font-family:var(--serif);font-weight:400;font-size:clamp(70px,8vw,108px);line-height:.9;letter-spacing:-.035em;margin:24px 0 30px}header h1 .nome{font-size:1em;display:block;font-style:normal;margin:0;color:var(--ink);white-space:nowrap}header h1 .ampersand{font-family:var(--serif);font-size:.4em;line-height:1;font-style:italic;font-weight:400;display:block;color:var(--gold);margin:8px 0 10px;letter-spacing:0}header .date{font-family:var(--sans);font-size:11px;letter-spacing:.28em}header>p:not(.overline):not(.date){font-family:var(--serif);font-size:23px;font-style:italic;margin-top:0}header h1 .nome:first-child{animation:nome-entrada 1.2s cubic-bezier(.2,.8,.2,1) both}header h1 .nome:last-child{animation:nome-entrada 1.2s .18s cubic-bezier(.2,.8,.2,1) both}.convite-locked header h1 .nome{animation:none}
.abertura{gap:16px;background:radial-gradient(ellipse at 50% 32%,#fffef9,#f3ecdf 60%,#e7dac5)}.abertura-titulo{font-family:var(--serif);font-size:clamp(46px,6.6vw,74px);font-weight:400;line-height:.95;letter-spacing:-.025em;display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;column-gap:.2em;row-gap:0;max-width:calc(100vw - 70px);margin:8px 0}.abertura-titulo .nome{white-space:nowrap}.abertura-titulo .ampersand{font-family:var(--serif);font-size:.57em;font-weight:400;color:var(--gold);font-style:italic}.abertura-data{font-family:var(--sans);font-size:10px;letter-spacing:.32em}.abertura-frase{font-family:var(--serif);font-size:20px;line-height:1.3}.abertura .overline{font-size:9px;letter-spacing:.22em}.envelope-cena{width:min(77vw,390px);margin:45px 0 15px}.carta-monograma{font-family:var(--serif);font-size:50px;text-transform:uppercase;letter-spacing:.04em}.selo{font-family:var(--serif);font-size:27px;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.carta-texto{font-family:var(--sans);font-size:8px}.pular-abertura{font-family:var(--sans)}
.portrait{position:relative;border-radius:170px 170px 22px 22px;box-shadow:15px 22px 0 -8px #e8e0d2,0 24px 65px #203e521c;isolation:isolate;translate:0 var(--photo-drift,0px);transition:translate .15s linear,box-shadow .6s}.portrait:after,.photo-frame:after{content:'';position:absolute;inset:0;border:1px solid #c6ac7c55;border-radius:inherit;pointer-events:none;z-index:1}.portrait img{transform-origin:50% 55%;transition:scale 1.2s cubic-bezier(.2,.7,.2,1);scale:1.005}
.photo-frame{position:relative;width:min(100%,460px);margin:0 auto 55px;border-radius:200px 200px 20px 20px;isolation:isolate;translate:0 var(--photo-drift,0px);transition:translate .15s linear;box-shadow:0 26px 65px #203e5220;overflow:hidden}.photo-frame .couple{width:100%;height:auto;margin:0;border-radius:inherit;box-shadow:none;transition:scale 1.5s cubic-bezier(.2,.7,.2,1);scale:1.005}.church{transition:box-shadow .8s,translate .15s linear;translate:0 var(--photo-drift,0px);box-shadow:0 16px 35px #203e5212}
.photo-motion .photo-frame:not(.photo-in-view){opacity:0;transform:translateY(35px) scale(.96)}.photo-motion .photo-frame{transition:opacity 1.1s ease,transform 1.3s cubic-bezier(.2,.7,.2,1),translate .15s linear}.photo-motion .photo-frame.photo-in-view .couple{animation:foto-aproxima 2.4s cubic-bezier(.2,.7,.2,1) both}.photo-motion .church.photo-in-view{animation:igreja-entrada 1.6s cubic-bezier(.2,.7,.2,1) both}.reveal{transition-duration:1.15s}.motion .reveal:not(.visible){transform:translateY(32px)}
@media(hover:hover) and (pointer:fine){.portrait:hover img,.photo-frame:hover .couple{scale:1.045}.portrait:hover{box-shadow:15px 22px 0 -8px #dfd1b9,0 28px 70px #203e5226}.church:hover{box-shadow:0 24px 48px #203e5224}}
@keyframes nome-entrada{from{opacity:0;transform:translateY(18px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes foto-aproxima{from{transform:scale(1.065)}to{transform:scale(1)}}@keyframes igreja-entrada{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:850px){header{grid-template-columns:minmax(0,1fr) 360px;gap:0 75px;max-width:1080px;padding:80px 50px}header h1{font-size:104px}header>.portrait{max-width:360px}h2{font-size:56px}.abertura-titulo{font-size:78px}}
@media(max-width:849px){header{padding:50px 24px 65px}header h1{font-size:84px;line-height:.9}.portrait{width:min(85%,330px);margin:38px auto 36px}h2{font-size:43px}.photo-frame{width:min(100%,390px)}.abertura-titulo{font-size:clamp(42px,9.5vw,62px)}.abertura-frase{font-size:19px}}
@media(max-width:370px){header h1{font-size:74px}.abertura-titulo{font-size:42px}.abertura .overline{font-size:8px}.abertura{padding-inline:20px}.names{font-size:24px}nav a{font-size:10px}nav div{gap:12px}}
@media(max-height:680px){.abertura{gap:12px}.abertura-titulo{font-size:clamp(38px,6vw,54px)}.envelope-cena{width:min(67vw,300px);margin:30px 0 8px}.abertura-frase{display:none}}
@media(prefers-reduced-motion:reduce){.portrait,.photo-frame,.church{translate:none!important}.photo-motion .photo-frame:not(.photo-in-view){opacity:1;transform:none}.portrait img,.photo-frame .couple{scale:1!important}.photo-motion *{animation:none!important;transition:none!important}}

/* Ajustes: iniciais alinhadas, fotos sem moldura e abertura mais lenta. */
.selo,.carta-monograma{display:flex;align-items:center;justify-content:center;gap:5px;font-family:var(--sans);font-weight:500;letter-spacing:0;line-height:1;font-style:normal;font-variant:normal;font-feature-settings:"case" 1}
.selo .inicial,.carta-monograma .inicial{font-family:var(--sans);font-size:1em;line-height:1;display:block;text-transform:uppercase}
.selo .separador,.carta-monograma .separador{font-size:.48em;line-height:1}.selo{font-size:23px}.carta-monograma{font-size:37px;gap:9px}
header h1 .ampersand,.abertura-titulo .ampersand{font-family:var(--serif);font-style:normal;font-weight:400;letter-spacing:0}header h1 .ampersand{font-size:.34em;margin:12px 0 14px}.abertura-titulo .ampersand{font-size:.5em}
.abertura:before,.abertura:after,.portrait:after,.photo-frame:after{display:none}.portrait,.photo-frame,.photo-frame .couple,.church{border:0;border-radius:8px;box-shadow:none}.portrait:hover,.church:hover{box-shadow:none}.portrait img{border-radius:8px}
.abertura{transition:opacity 1.2s ease,visibility 1.2s ease}
.abertura.abrindo .selo{transition:transform 1.1s ease,opacity 1s ease}.abertura.abrindo .envelope-carta{transition:transform 2.3s cubic-bezier(.3,.6,.3,1),box-shadow 2.3s;transition-delay:1.4s;transform:translateY(-45%)}.abertura.abrindo .abertura-acoes{transition:opacity 1s}
header h1{animation-duration:2.8s}header .portrait{animation-duration:3.4s}header img{animation-duration:5.5s}header h1 .nome:first-child{animation-duration:2.8s}header h1 .nome:last-child{animation-duration:2.8s;animation-delay:.45s}.reveal{transition-duration:2s}.photo-motion .photo-frame{transition:opacity 2s ease,transform 2.6s cubic-bezier(.2,.7,.2,1),translate .3s linear}.photo-motion .photo-frame.photo-in-view .couple{animation-duration:5s}.photo-motion .church.photo-in-view{animation-duration:3.4s}.portrait img,.photo-frame .couple{transition-duration:2.8s}
@media(prefers-reduced-motion:reduce){.abertura,.abertura *,.portrait img,.photo-frame .couple{animation:none!important;transition:none!important}}
.time{font-family:var(--sans);font-size:clamp(54px,8vw,68px);font-weight:500;line-height:1.15;letter-spacing:-.035em;font-variant-numeric:lining-nums tabular-nums}

header h1 .ampersand,.abertura-titulo .ampersand,.selo .separador,.carta-monograma .separador{font-family:Arial,Helvetica,sans-serif;font-style:normal;font-weight:400;letter-spacing:0}header h1 .ampersand{font-size:.27em;line-height:1.2}.abertura-titulo .ampersand{font-size:.4em}.selo .separador{font-size:.55em}.carta-monograma .separador{font-size:.55em}

header>p.sacramento{font-family:var(--sans);font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-style:normal;line-height:1.7;margin:0 0 18px;color:var(--muted)}header .cross{font-family:Georgia,serif;font-size:30px;margin-bottom:12px}.abertura .overline{max-width:280px;line-height:1.8}.carta-cruz{font-size:28px}.carta-texto{letter-spacing:.16em}

/* Primeira tela do celular: conteúdo completo até o botão. */
@media(max-width:849px) and (min-height:561px){
 nav{min-height:56px;height:56px;padding:8px 18px;gap:12px}nav>b{font-size:25px;line-height:1.2;white-space:nowrap}nav div{gap:13px}nav a{font-size:10px;line-height:1.4}
 header{height:calc(100svh - 56px);min-height:0;max-height:940px;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:7px;padding:14px 20px 18px;overflow:hidden}
 header>.cross{font-size:21px;line-height:1;margin:0 0 1px}header>.overline{font-size:8px;line-height:1.5;letter-spacing:.19em;margin:0}
 header h1{display:flex;align-items:baseline;justify-content:center;gap:.16em;width:100%;font-size:clamp(38px,11vw,52px);line-height:1.08;margin:3px 0 1px;flex-shrink:0}
 header h1 .nome{font-size:1em;line-height:1.08;margin:0}header h1 .ampersand{font-size:.36em;line-height:1;margin:0;align-self:center}
 header>.date{font-size:9px;line-height:1.5;letter-spacing:.25em;margin:2px 0}
 header>p.sacramento:not(.overline):not(.date){font-family:var(--sans);font-size:8px;line-height:1.6;letter-spacing:.13em;font-style:normal;margin:0;color:var(--muted)}
 header>p:not(.overline):not(.date):not(.sacramento){font-family:var(--serif);font-size:18px;line-height:1.35;margin:0 0 3px}
 header>.portrait{flex:1 1 0;min-height:0;width:100%;max-width:100%;margin:5px 0 7px;display:flex;align-items:center;justify-content:center;overflow:visible;translate:none;box-shadow:none;border:0;background:none}
 header>.portrait img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;border-radius:7px;scale:1;transform:none;animation:none}
 header>div:last-child{flex-shrink:0;margin:0}header .btn{font-size:10px;line-height:1.5;padding:10px 25px}
}
@media(max-width:849px) and (max-height:560px){header h1{font-size:56px}.portrait{max-width:200px}}

/* Monograma compacto e envelope aberto com camadas estáveis em duas dimensões. */
.selo{display:flex;align-items:center;justify-content:center;gap:0;font-family:Arial,Helvetica,sans-serif;font-size:22px;font-weight:400;letter-spacing:-.045em;line-height:1;white-space:nowrap;padding:0}
.carta-monograma{display:block;font-family:Arial,Helvetica,sans-serif;font-size:30px;letter-spacing:-.025em;line-height:1.2}
.envelope-cena{perspective:none;isolation:isolate;margin-top:clamp(110px,19vw,145px)}
.envelope-aba-aberta{position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:57%;background:linear-gradient(170deg,#f2e6cf,#d8c29e);clip-path:polygon(50% 0,100% 100%,0 100%);transform:scaleY(0);transform-origin:center bottom;opacity:0;z-index:0;transition:transform 1.6s .65s ease-in-out,opacity .4s .65s}
.envelope-fundo{z-index:1}.envelope-carta{z-index:2}.envelope-frente{z-index:3}
.envelope-aba{z-index:4;transform:scaleY(1);transform-style:flat;backface-visibility:visible;opacity:1;transition:transform 1.6s ease-in-out,opacity .35s .9s}
.abertura.abrindo .envelope-aba{animation:none;transform:scaleY(0);opacity:0;z-index:4;transition:transform 1.6s ease-in-out,opacity .35s .9s}
.abertura.abrindo .envelope-aba-aberta{transform:scaleY(1);opacity:1}
.abertura.abrindo .envelope-carta{transform:translateY(-45%);transition:transform 2.5s 1.5s cubic-bezier(.3,.6,.3,1),box-shadow 2.5s 1.5s}
header>p.sacramento:not(.overline):not(.date){font-family:var(--sans);font-size:10px;font-style:normal;line-height:1.6}
@media(min-width:850px){.photo-frame{max-width:360px}.letter{max-width:650px}}
@media(max-width:849px){
 body{font-size:14px;line-height:1.75}section{padding:44px 24px}h2{font-size:32px;line-height:1.15;margin:12px 0 24px}.overline{font-size:9px;letter-spacing:.17em}
 .intro blockquote{font-size:25px;line-height:1.4;margin-bottom:18px}.intro small{font-size:9px;letter-spacing:.13em}
 .letter{max-width:380px}.letter p{font-size:14px;line-height:1.8;margin:17px 0}.names{font-size:23px;line-height:1.5;margin:24px 0}.rule{margin:21px auto;width:38px}
 .photo-frame{width:min(76%,270px);max-width:270px;margin:0 auto 30px}.photo-frame .couple{height:auto;width:100%}.schedule{gap:34px}.event{padding-top:23px}.time{font-size:44px;line-height:1.15;margin:18px 0}.event h3{font-size:27px;line-height:1.2;margin:14px 0}.event address{font-size:14px;line-height:1.7;margin:18px 0 22px}.church{width:min(100%,280px);height:auto;max-height:none;margin:20px auto;display:block}
 .btn{font-size:10px;line-height:1.5;padding:12px 20px}.rsvp p{font-size:14px;line-height:1.75}form{margin:24px auto;gap:14px}label{font-size:12px}input,select,textarea{font-size:16px;padding:12px}#resultado{font-size:13px}.rsvp .hint{font-size:11px}
 footer{padding:44px 24px}footer blockquote{font-size:25px;line-height:1.4;margin:18px auto}footer small{font-size:9px}.footnames{font-size:26px;margin-top:30px}
 .abertura{gap:14px;padding:24px 20px}.abertura-titulo{font-size:clamp(39px,9.5vw,48px);line-height:1.1;margin:6px 0}.abertura .overline{font-size:8px}.abertura-data{font-size:9px}.abertura-frase{font-size:18px}.envelope-cena{width:min(76vw,330px);margin-top:clamp(108px,24vw,130px);margin-bottom:13px}
}
@media(max-width:849px) and (min-height:561px){header>p.sacramento:not(.overline):not(.date){font-size:8px}header h1{font-size:clamp(38px,11vw,48px)}}
@media(max-height:680px){.abertura{gap:10px;justify-content:flex-start;padding-top:25px}.abertura-titulo{font-size:40px}.envelope-cena{width:min(66vw,260px);margin-top:100px}.abertura-frase{display:none}}
@media(prefers-reduced-motion:reduce){.envelope-aba,.envelope-aba-aberta,.envelope-carta{transition:none!important;animation:none!important}}
