/* Casamentos e Eventos — estilos isolados; não afetam os restantes separadores. */
/* Revela mais detalhe da imagem de fundo, sem comprometer a leitura. */
.weddings-page .wedding-parallax:after { background: linear-gradient(90deg, rgba(8,31,22,.78), rgba(8,31,22,.12)); }
.weddings-page{background:var(--ivory);color:var(--green)}
.weddings-page .hero{position:relative}.weddings-hero-copy{position:absolute;z-index:2;right:clamp(36px,9vw,150px);bottom:clamp(60px,9vw,130px);max-width:570px;color:#fff;text-align:right;text-shadow:0 2px 18px rgba(8,31,22,.38)}
.weddings-hero-copy p{margin:0 0 14px;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.weddings-hero-copy h2{margin:0;font:500 clamp(40px,5.2vw,76px)/1.03 var(--serif)}.weddings-hero-copy span{display:block;max-width:460px;margin:20px 0 0 auto;font-size:16px;line-height:1.6}
.wedding-section{position:relative;overflow:hidden;padding:clamp(88px,10vw,154px) 0}.wedding-shell{width:min(1240px,calc(100% - 72px));margin:auto}.wedding-kicker{margin:0 0 18px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.wedding-title{max-width:900px;margin:0;color:var(--green);font:500 clamp(44px,5.4vw,78px)/1.04 var(--serif)}.wedding-copy{max-width:610px;margin:26px 0 0;color:#315247;font-size:17px;line-height:1.7}.wedding-button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;margin-top:34px;padding:0 24px;border:1px solid currentColor;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:color .2s,background .2s}.wedding-button:hover{background:var(--green);color:var(--ivory)}.wedding-button.light{color:#fff}.wedding-button.light:hover{background:#fff;color:var(--green)}
.wedding-photo-placeholder{position:relative;display:grid;min-height:300px;place-items:center;overflow:hidden;border:1px solid rgba(43,72,59,.24);background:linear-gradient(145deg,#d7dfd0,#a8bba2);color:#315747}.wedding-photo-placeholder:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 38px,rgba(255,255,255,.25) 39px 40px)}.wedding-photo-placeholder span{position:relative;max-width:82%;padding:11px 14px;border:1px solid rgba(24,59,48,.35);background:rgba(250,248,243,.78);font-size:9px;font-weight:700;letter-spacing:.15em;line-height:1.6;text-align:center}
.wedding-editorial{display:grid;grid-template-columns:1fr 1fr;gap:clamp(46px,9vw,140px);align-items:center}.wedding-editorial .wedding-photo-placeholder{min-height:630px}.wedding-editorial-copy{max-width:540px}.wedding-editorial-copy .wedding-copy+p{margin-top:18px}
.wedding-cards{background:#e9eee5}.wedding-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:55px}.wedding-card{position:relative;display:flex;min-height:455px;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:28px;background:var(--green);color:#fff}.wedding-card .wedding-photo-placeholder{position:absolute;inset:0;min-height:0;border:0;background:linear-gradient(150deg,#92a889,#3d5b47);transition:transform .55s ease}.wedding-card:nth-child(2) .wedding-photo-placeholder{background:linear-gradient(150deg,#bcae99,#626c55)}.wedding-card:nth-child(3) .wedding-photo-placeholder{background:linear-gradient(150deg,#b9c1ac,#587162)}.wedding-card:after,.wedding-split-card:after{content:'';position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(8,31,22,.84))}.wedding-card>*:not(.wedding-photo-placeholder){position:relative;z-index:1}.wedding-card h3{margin:0 0 10px;font:500 31px/1.08 var(--serif)}.wedding-card p{margin:0;line-height:1.6}.wedding-card:hover .wedding-photo-placeholder,.wedding-split-card:hover .wedding-photo-placeholder{transform:scale(1.05)}
.wedding-parallax{display:flex;min-height:690px;align-items:center;background:var(--deep);color:#fff}.wedding-parallax-media{position:absolute;inset:-8% 0;transform:translateY(var(--wedding-parallax,0));will-change:transform}.wedding-parallax-media .wedding-photo-placeholder{height:100%;border:0;background:linear-gradient(125deg,#405d4b,#acb69b)}.wedding-parallax:after,.wedding-final:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,31,22,.88),rgba(8,31,22,.18))}.wedding-parallax .wedding-shell,.wedding-final .wedding-shell{position:relative;z-index:1}.wedding-parallax .wedding-title,.wedding-final .wedding-title{color:#fff}.wedding-parallax .wedding-copy,.wedding-final .wedding-copy{color:#f6f6ee}.wedding-gallery-strip{display:grid;grid-template-columns:1.25fr .75fr 1fr;grid-template-rows:220px 210px;gap:16px;margin-top:56px}.wedding-gallery-strip .wedding-photo-placeholder{min-height:0}.wedding-gallery-strip .wedding-photo-placeholder:nth-child(1){grid-row:span 2}.wedding-gallery-strip .wedding-photo-placeholder:nth-child(3){grid-row:span 2}.wedding-gallery-strip .wedding-photo-placeholder:nth-child(4){grid-column:span 2}
.wedding-events{background:#f3f1eb}.wedding-event-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-top:54px}.wedding-event-card{position:relative;min-height:330px;grid-column:span 4;overflow:hidden;background:var(--green);color:#fff}.wedding-event-card:nth-child(4){grid-column:2/span 5}.wedding-event-card:nth-child(5){grid-column:7/span 5}.wedding-event-card .wedding-photo-placeholder{position:absolute;inset:0;min-height:0;border:0;background:linear-gradient(145deg,#a9bca1,#3c5e49);transition:transform .5s ease}.wedding-event-card:nth-child(even) .wedding-photo-placeholder{background:linear-gradient(145deg,#c3b599,#626f5a)}.wedding-event-card:hover .wedding-photo-placeholder{transform:scale(1.05)}.wedding-event-card:after{content:'';position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(8,31,22,.84))}.wedding-event-card div:last-child{position:absolute;z-index:1;right:26px;bottom:24px;left:26px}.wedding-event-card b{display:block;margin-bottom:7px;color:#e7c77f;font-size:10px;letter-spacing:.15em}.wedding-event-card h3{margin:0;font:500 30px/1.1 var(--serif)}.wedding-event-card p{margin:10px 0 0;line-height:1.55}
.wedding-process{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(42px,8vw,118px);align-items:center}.wedding-process .wedding-photo-placeholder{min-height:610px}.wedding-aspects{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:45px;background:rgba(43,72,59,.2)}.wedding-aspects article{padding:25px;background:var(--ivory)}.wedding-aspects b{display:block;margin-bottom:13px;color:var(--gold);font-size:10px;letter-spacing:.16em}.wedding-aspects h3{margin:0 0 10px;font:500 28px/1.12 var(--serif)}.wedding-aspects p{margin:0;color:#315247;line-height:1.6}
.wedding-inspiration{background:#e9eee5}.wedding-inspiration-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-template-rows:290px 230px 250px;gap:16px;margin-top:55px}.wedding-inspiration-grid .wedding-photo-placeholder{min-height:0}.wedding-inspiration-grid .wedding-photo-placeholder:nth-child(1){grid-row:span 2}.wedding-inspiration-grid .wedding-photo-placeholder:nth-child(2){background:linear-gradient(145deg,#c7b699,#879a7e)}.wedding-inspiration-grid .wedding-photo-placeholder:nth-child(3){grid-row:span 2}.wedding-inspiration-grid .wedding-photo-placeholder:nth-child(4){background:linear-gradient(145deg,#b5c5aa,#637c67)}.wedding-inspiration-grid .wedding-photo-placeholder:nth-child(5){grid-column:span 2;background:linear-gradient(145deg,#d1c4a8,#91a58c)}
.wedding-timeline-list{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:70px}.wedding-timeline-list:before{content:'';position:absolute;top:37px;right:12.5%;left:12.5%;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform 1.15s ease}.is-wedding-visible .wedding-timeline-list:before{transform:scaleX(1)}.wedding-timeline-list article{position:relative;padding-top:84px;text-align:center;opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}.is-wedding-visible .wedding-timeline-list article{opacity:1;transform:none}.is-wedding-visible .wedding-timeline-list article:nth-child(2){transition-delay:.12s}.is-wedding-visible .wedding-timeline-list article:nth-child(3){transition-delay:.24s}.is-wedding-visible .wedding-timeline-list article:nth-child(4){transition-delay:.36s}.wedding-timeline-list b{position:absolute;top:0;left:50%;display:grid;width:75px;height:75px;place-items:center;border:1px solid var(--green);border-radius:50%;background:var(--ivory);font:500 22px var(--serif);transform:translateX(-50%)}.wedding-timeline-list h3{margin:0 0 10px;font:500 24px/1.12 var(--serif)}.wedding-timeline-list p{max-width:245px;margin:0 auto;color:#315247;line-height:1.6}
.wedding-final{display:flex;min-height:650px;align-items:center;background:var(--deep);color:#fff}.wedding-final-media{position:absolute;inset:0;transform:scale(1.06);transition:transform 1s ease}.wedding-final-media .wedding-photo-placeholder{height:100%;border:0;background:linear-gradient(125deg,#506c59,#b6ae92)}.is-wedding-visible .wedding-final-media{transform:scale(1)}.wedding-final .wedding-button+.wedding-button{margin-left:12px}
.weddings-page [data-wedding-reveal]{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.weddings-page [data-wedding-reveal].is-wedding-visible{opacity:1;transform:none}
.wedding-photo-placeholder.wedding-photo{background:none}.wedding-photo-placeholder.wedding-photo:before{display:none}.wedding-photo-placeholder.wedding-photo picture{position:absolute;inset:0;display:block}.wedding-photo-placeholder.wedding-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:1080px){.wedding-card-grid{grid-template-columns:repeat(2,1fr)}.wedding-event-card,.wedding-event-card:nth-child(4),.wedding-event-card:nth-child(5){grid-column:span 6}.wedding-timeline-list{grid-template-columns:repeat(2,1fr);row-gap:48px}.wedding-timeline-list:before{display:none}}
@media(max-width:780px){.weddings-hero-copy{right:22px;bottom:76px;left:22px;text-align:left}.weddings-hero-copy h2{font-size:clamp(38px,11vw,54px)}.weddings-hero-copy span{margin-left:0;font-size:14px}.wedding-shell{width:calc(100% - 40px)}.wedding-section{padding:82px 0}.wedding-editorial,.wedding-process{grid-template-columns:1fr;gap:38px}.wedding-editorial .wedding-photo-placeholder,.wedding-process .wedding-photo-placeholder{min-height:440px}.wedding-card-grid{grid-template-columns:1fr}.wedding-card{min-height:390px}.wedding-parallax,.wedding-final{min-height:600px}.wedding-gallery-strip{grid-template-columns:1fr 1fr;grid-template-rows:300px 170px 170px;gap:10px}.wedding-gallery-strip .wedding-photo-placeholder:nth-child(1){grid-row:span 2}.wedding-gallery-strip .wedding-photo-placeholder:nth-child(3){grid-row:auto}.wedding-gallery-strip .wedding-photo-placeholder:nth-child(4){grid-column:span 2}.wedding-event-grid{grid-template-columns:1fr}.wedding-event-card,.wedding-event-card:nth-child(4),.wedding-event-card:nth-child(5){grid-column:auto;min-height:340px}.wedding-aspects{grid-template-columns:1fr}.wedding-inspiration-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 180px 180px 260px;gap:10px}.wedding-inspiration-grid .wedding-photo-placeholder:nth-child(1){grid-row:span 2}.wedding-inspiration-grid .wedding-photo-placeholder:nth-child(3){grid-row:auto}.wedding-inspiration-grid .wedding-photo-placeholder:nth-child(5){grid-column:span 2}.wedding-inspiration-grid .wedding-photo-placeholder:nth-child(6){grid-column:span 2}.wedding-timeline-list{grid-template-columns:1fr;gap:34px;margin-top:48px}.wedding-timeline-list:before{display:block;top:37px;right:auto;bottom:37px;left:50%;width:1px;height:auto;transform:scaleY(0);transform-origin:top}.is-wedding-visible .wedding-timeline-list:before{transform:scaleY(1)}.wedding-timeline-list article{min-height:145px;padding-top:88px}.wedding-final .wedding-button+.wedding-button{margin-left:0}}
@media(prefers-reduced-motion:reduce){.weddings-page *,.weddings-page *:before,.weddings-page *:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}.weddings-page [data-wedding-reveal],.wedding-timeline-list article{opacity:1!important;transform:none!important}.wedding-timeline-list:before{transform:scaleX(1)!important}.wedding-parallax-media{transform:none!important}}

/* Preenche a segunda célula central com a mesma altura da imagem superior. */
@media(min-width:781px){.wedding-gallery-strip{grid-template-rows:220px 220px}.wedding-gallery-strip .wedding-photo-placeholder:nth-child(4){grid-column:2;grid-row:2}}

@media(max-width:780px){.wedding-gallery-strip .wedding-photo-placeholder:nth-child(4) img{object-position:center 70%}}
