@scope (#convite) {

:root{--ink:#292929;--yellow:#f2e500}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}button,input{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid #536eb7;outline-offset:5px}.cv-journey{position:relative;height:650svh}.cv-stage{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;background:#fff}.cv-intro,.cv-gallery,.cv-place,.cv-contact{position:absolute;inset:0;visibility:hidden;opacity:0}.cv-intro,.cv-place{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.cv-title-row{display:flex;align-items:center;justify-content:center;gap:25px;width:min(1050px,90%)}.cv-title-row>span{height:1px;background:#545454;flex:1;max-width:225px;transform:scaleX(var(--line,1))}.cv-title-row h2{display:flex;align-items:baseline;gap:16px;font-weight:400}.cv-title-row small{font:700 25px/1.15 Montserrat,sans-serif;letter-spacing:-.02em;text-transform:uppercase}.cv-title-row em{font:normal 112px/.95 Manuscrita,cursive;white-space:nowrap;letter-spacing:-.02em}.cv-intro>p{margin-top:30px;font-size:15px}.scroll-hint{position:absolute;bottom:8%;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.scroll-hint span{display:block;font-size:22px;margin-top:9px}.gallery-top{position:absolute;top:7%;left:8%;right:8%;display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.12em}.cv-cards{position:absolute;inset:15% 0 17%;overflow:hidden;touch-action:pan-y;cursor:grab}.cv-cards.cv-dragging{cursor:grabbing;user-select:none}.cv-card{position:absolute;left:50%;top:50%;width:min(48vw,660px);height:min(53vh,470px);overflow:hidden;background:#eee;will-change:transform,opacity}.cv-card img{width:100%;height:100%;object-fit:cover;pointer-events:none}.cv-card figcaption{position:absolute;bottom:0;left:0;right:0;padding:48px 28px 24px;color:#fff;background:linear-gradient(transparent,#000a);display:flex;flex-direction:column;gap:7px}.cv-card figcaption span{font-size:10px;font-weight:700;letter-spacing:.12em}.cv-card figcaption strong{font-size:clamp(17px,2vw,24px)}.cv-card figcaption small{position:absolute;right:28px;bottom:28px}.gallery-bottom{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:25px;white-space:nowrap}.gallery-bottom p{font-size:11px;color:#555}.gallery-bottom p span{color:#b8a900}.gallery-bottom button{border:1px solid #d1d1cc;background:white;width:46px;height:44px;cursor:pointer;font-size:20px}.cv-place{gap:18px}.cv-pin{width:52px;height:70px;transform:translateY(var(--drop,-120px));opacity:var(--pin,0)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em}.cv-place h2{font-size:25px;font-weight:700}.cv-place h2 em,.cv-contact-copy h2 em{display:block;font:normal 110px/.9 Manuscrita,cursive}.cv-place>p:not(.eyebrow){line-height:1.7}.cv-place a{font-size:13px;text-underline-offset:6px}.cv-contact{display:flex;align-items:center;justify-content:center;overflow:auto;padding:28px 7%;background:white}.cv-contact-inner{width:min(1100px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.cv-contact-copy h2{font-size:clamp(24px,3vw,38px);line-height:1.25;margin:20px 0}.cv-contact-copy h2 em{font-size:clamp(80px,9vw,120px)}.cv-contact-copy>p:not(.eyebrow){line-height:1.7;max-width:400px;color:#555;font-size:15px}.cv-contact-copy>a{display:inline-block;margin-top:25px;font-size:14px}form{padding:clamp(20px,3vw,40px);border:1px solid #d1d1cc}form h3{font-size:21px;font-weight:700;margin:0 0 7px}form>p{font-size:12px;color:#555;line-height:1.5}label{display:block;margin-top:16px;font-size:11px;font-weight:700;text-transform:uppercase}input{width:100%;border:0;border-bottom:1px solid #aaa;padding:9px 0;outline-offset:3px;background:transparent}form button{width:100%;padding:15px 18px;background:#f2e500;border:0;margin-top:20px;text-align:left;font-size:12px;font-weight:700;cursor:pointer}form button span{float:right}.cv-form-note{font-size:10px;margin:10px 0 0}@media(max-width:700px){.cv-title-row{gap:12px}.cv-title-row h2{gap:10px}.cv-title-row small{font-size:17px}.cv-title-row em{font-size:clamp(63px,18vw,88px)}.cv-card{width:75vw;height:min(49vh,420px)}.gallery-top{left:6%;right:6%}.gallery-bottom{gap:12px}.gallery-bottom p{font-size:9px}.cv-contact{padding:22px 7%;align-items:safe center}.cv-contact-inner{grid-template-columns:1fr;gap:20px}.cv-contact-copy h2{font-size:23px;margin:9px 0}.cv-contact-copy h2 em{font-size:76px}.cv-contact-copy>p:not(.eyebrow){font-size:12px;line-height:1.5}.cv-contact-copy>a{margin-top:8px;font-size:12px}form{padding:18px}form h3{font-size:18px}label{margin-top:10px}input{padding:6px 0}form button{margin-top:14px;padding:12px}.cv-place h2 em{font-size:90px}}@media(max-height:610px){.cv-contact{align-items:flex-start}.cv-contact-inner{margin:auto}.cv-contact-copy h2 em{font-size:65px}form{padding:15px}label{margin-top:8px}input{padding:5px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cv-journey{height:auto}.cv-stage{height:auto;position:relative;overflow:visible}.cv-intro,.cv-gallery,.cv-place,.cv-contact{position:relative;inset:auto;visibility:visible!important;opacity:1!important;transform:none!important;pointer-events:auto!important}.cv-intro,.cv-place{min-height:65vh;padding:60px 0}.scroll-hint{display:none}.cv-gallery{padding:30px 5%}.gallery-top,.gallery-bottom{position:static;transform:none}.gallery-bottom{justify-content:center;margin-top:20px}.cv-cards{position:relative;inset:auto;height:auto;display:grid;gap:15px;overflow:visible}.cv-card{position:relative;left:auto;top:auto;width:100%;height:45vh;transform:none!important;opacity:1!important;visibility:visible!important}.cv-pin{transform:none;opacity:1}.cv-contact{padding:60px 7%}.gallery-bottom button{display:none}}

/* As fotos laterais se inclinam para fora, como um carrossel circular. */
.cv-cards{perspective:1600px;perspective-origin:50% 50%;touch-action:pan-y;user-select:none}.cv-card{backface-visibility:hidden;transform-style:preserve-3d}.cv-card img{-webkit-user-drag:none;user-select:none}.gallery-controls{position:absolute;inset:0;pointer-events:none}.gallery-controls button{position:absolute;top:50%;transform:translateY(-50%);pointer-events:auto;display:grid;place-items:center;width:48px;height:48px;border:0;background:#fff;color:#292929;font-size:27px;cursor:pointer}.gallery-controls .prev{left:3%}.gallery-controls .next{right:3%}.gallery-controls button:hover{background:#f5f5f2}@media(max-width:700px){.gallery-controls button{width:38px;height:42px;font-size:23px}.gallery-controls .prev{left:1%}.gallery-controls .next{right:1%}}@media(prefers-reduced-motion:reduce){.gallery-controls{display:none}}

.cv-cards{inset:3% 0 5%;perspective:850px}
@media(prefers-reduced-motion:reduce){.cv-cards{inset:auto;perspective:none}}

.cv-gallery-dots{position:absolute;bottom:6%;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:8px}.cv-gallery-dots button{display:grid;place-items:center;width:16px;height:24px;padding:0;border:0;background:transparent;cursor:pointer}.cv-gallery-dots button::before{content:"";width:6px;height:6px;border-radius:50%;background:#aaa;transition:width .15s,height .15s,background .15s}.cv-gallery-dots button[aria-current]::before{width:12px;height:12px;background:#292929}@media(prefers-reduced-motion:reduce){.cv-gallery-dots{display:none}}

.cv-place h2{display:flex;align-items:baseline;justify-content:center;gap:14px;white-space:nowrap}.cv-place h2 em{display:inline;font-size:clamp(68px,8vw,110px)}.cv-place .cv-address{font-size:15px;line-height:1.8;text-decoration:none}.cv-place .cv-address:hover{text-decoration:underline;text-underline-offset:5px}@media(max-width:500px){.cv-place h2{font-size:18px;gap:8px}.cv-place h2 em{font-size:clamp(56px,16vw,78px)}.cv-place .cv-address{font-size:14px}}

/* Convite e formulário */
.cv-contact-copy .cv-brand-symbol{display:block;width:clamp(62px,7vw,90px);height:auto;margin-bottom:22px}.cv-contact-copy h2{max-width:490px;line-height:1.25;margin:0 0 22px}.cv-brand-word{display:block;line-height:0;margin:5px 0 1px}.cv-brand-word img{width:clamp(180px,21vw,275px);height:auto}.cv-contact form{border:1px solid #e2e1da;border-radius:28px;padding:clamp(28px,3.4vw,48px);box-shadow:0 16px 48px rgba(41,41,41,.06)}.cv-contact form h3{margin-bottom:10px}.cv-contact form label{margin-top:20px}.cv-contact form input{padding:11px 0}.cv-contact form button{border-radius:999px;padding:17px 22px;margin-top:25px}.cv-contact .cv-form-note{margin-top:13px}@media(max-width:700px){.cv-contact-copy .cv-brand-symbol{width:56px;margin-bottom:10px}.cv-contact-copy h2{margin-bottom:9px}.cv-brand-word img{width:175px}.cv-contact form{border-radius:22px;padding:20px}.cv-contact form label{margin-top:10px}.cv-contact form input{padding:6px 0}.cv-contact form button{padding:13px 18px;margin-top:14px}}@media(max-height:700px){.cv-contact-copy .cv-brand-symbol{width:52px;margin-bottom:8px}.cv-contact-copy h2{margin-bottom:8px}.cv-brand-word img{width:170px}.cv-contact form{padding:20px}.cv-contact form label{margin-top:10px}.cv-contact form input{padding:6px 0}.cv-contact form button{margin-top:13px;padding:12px 18px}}

.cv-contact-copy .cv-brand-symbol{width:clamp(72px,8vw,104px)}.cv-contact-title-first{display:block;white-space:nowrap}.cv-contact-title-second{display:flex;align-items:center;gap:10px;white-space:nowrap}.cv-contact-title-second .cv-brand-word{display:inline-flex;flex:none;margin:0}.cv-contact-title-second .cv-brand-word img{width:clamp(145px,16vw,205px)}@media(max-width:700px){.cv-contact-copy .cv-brand-symbol{width:68px}.cv-contact-title-second .cv-brand-word img{width:clamp(125px,34vw,165px)}}@media(max-height:700px){.cv-contact-copy .cv-brand-symbol{width:64px}}

.cv-place{gap:8px}.cv-place .cv-address{white-space:nowrap;font-size:clamp(11px,3.5vw,15px)}


/* Título e galeria se apresentam juntos, sem uma etapa extra de rolagem. */
@media(prefers-reduced-motion:no-preference){
 .cv-intro{pointer-events:none!important}
 .cv-cards{inset:26% 0 12%}
}
}
