/* V5: composição editorial orientada às pessoas e às fotografias reais. */
.button,.button--ghost { border-radius:12px; background:var(--accent); color:#fff; border-color:var(--accent); }
.button:hover { background:var(--gold-dark); color:#fff; }
.quick-trust { margin:0 auto; padding:3rem 2rem; box-shadow:none; border-radius:0; background:var(--paper); width:100%; max-width:var(--max); align-items:center; }
.quick-trust strong { font-size:clamp(1.9rem,2.8vw,3rem); line-height:1.05; }
.quick-trust div:nth-child(-n+2) strong { font-size:clamp(4rem,6vw,6.5rem); }
.quick-trust span { font-size:.8rem; line-height:1.5; }
.quick-trust div { padding-inline:clamp(1rem,3vw,3rem); }
.proof-layout { align-items:center; }
.proof-invitation { padding-left:2rem; }
.home-proof .gallery { margin-top:2rem; }
.gallery-track { align-items:center; grid-auto-columns:min(72vw,850px); padding-inline:max(var(--gutter),calc((100% - min(72vw,850px))/2)); scroll-padding-inline:max(var(--gutter),calc((100% - min(72vw,850px))/2)); }
.gallery-item { aspect-ratio:var(--ratio,3/2); width:100%; max-height:none; overflow:hidden; border-radius:22px; }
.gallery-item picture { display:block; }
.gallery-item img { object-position:var(--focal,50% 30%); }
.gallery-item.is-prev,.gallery-item.is-next { opacity:.45; transform:scale(.86); }
.gallery-item.is-active { opacity:1; transform:scale(1); }
.process-section { isolation:isolate; }
.process-section::before { content:''; position:absolute; inset:0; z-index:-2; background:var(--process-photo) var(--process-position,50% 30%)/cover; }
.process-section::after { inset:0; width:auto; height:auto; border:0; border-radius:0; z-index:-1; background:rgba(6,6,38,.86); }
.process-section--casamentos { --process-photo:url('/assets/img/v5/casamentos-36-1920.webp'); --process-position:50% 37%; }
.process-section--debutantes { --process-photo:url('/assets/img/v5/debutantes-03-1280.webp'); --process-position:50% 25%; }
.process-section--tematicos { --process-photo:url('/assets/img/v5/tematicos-14-1280.webp'); --process-position:65% 30%; }
.journey-item { background:rgba(6,6,38,.35); }
.floating-whatsapp { width:auto; border-radius:12px; z-index:30; font-size:.75rem; min-height:48px; }
.floating-whatsapp span { display:inline; }
.menu-open .floating-whatsapp { visibility:hidden; }
.cta-panel { min-height:460px; }
.cta-panel::before { background-position:50% 24%; }
.specialty-card img { object-position:50% 30%; }
.watch-label { cursor:pointer; }
.footer-links button { border:0; padding:0; background:none; color:inherit; cursor:pointer; font:inherit; }
.consent-banner { position:fixed; z-index:50; bottom:0; left:0; right:0; padding:1rem var(--gutter); background:#fff; color:var(--brand); box-shadow:0 -4px 24px #0002; display:flex; gap:1.5rem; align-items:center; justify-content:space-between; }
.consent-banner[hidden] { display:none; }
.consent-banner p { margin:0; max-width:700px; font-size:.875rem; }
.consent-actions { display:flex; gap:.65rem; flex-shrink:0; }
.consent-actions button { cursor:pointer; padding:.8rem 1rem; border:1px solid var(--brand); border-radius:10px; background:white; color:var(--brand); font-weight:600; }
.consent-actions button:last-child { background:var(--brand); color:white; }
@media(min-width:801px) {
 .home-hero,.testimonials-hero,.contact-hero { min-height:700px; }
 .home-hero .cinematic-media,.testimonials-hero .cinematic-media,.contact-hero .cinematic-media { left:43%; top:92px; }
 .home-hero .cinematic-media img { object-position:50% 25%; }
 .testimonials-hero .cinematic-media img { object-position:50% 25%; }
 .contact-hero .cinematic-media img { object-position:50% 25%; }
 .home-hero .cinematic-overlay,.testimonials-hero .cinematic-overlay,.contact-hero .cinematic-overlay { background:linear-gradient(90deg,var(--brand) 0 40%,rgba(6,6,38,.3) 50%,rgba(6,6,38,.05) 70%); }
 .home-hero .cinematic-copy > *,.testimonials-hero .cinematic-copy > *,.contact-hero .cinematic-copy > * { max-width:min(510px,33vw); }
 .cinematic-hero h1 { font-size:clamp(3rem,4.3vw,5rem); }
 .testimonials-hero h1,.contact-hero h1 { max-width:12ch; }
 .cta-panel::before { left:38%; background-position:50% 20%; }
 .cta-panel::after { background:linear-gradient(90deg,rgba(6,6,38,.99) 0 32%,rgba(6,6,38,.85) 42%,rgba(6,6,38,.3)); }
 .gallery-item { max-height:650px; aspect-ratio:var(--ratio,3/2); }
 .gallery-item[style*='2/3'] { width:420px; justify-self:center; }
 .gallery-item[style*='1/1'] { width:600px; justify-self:center; }
}
@media(max-width:800px) {
 .cinematic-hero.home-hero,.cinematic-hero.testimonials-hero,.cinematic-hero.contact-hero,.cinematic-hero.specialty-hero { min-height:0; display:block; padding-top:72px; }
 .cinematic-hero .cinematic-media { position:relative; inset:auto; height:auto; aspect-ratio:3/2; width:100%; z-index:0; }
 .cinematic-hero .cinematic-media img { object-fit:cover; object-position:50% 28%; }
 .cinematic-hero .cinematic-overlay { display:none; }
 .cinematic-hero .cinematic-copy { position:relative; padding:2rem var(--gutter) 3rem; background:var(--brand); }
 .cinematic-hero .cinematic-copy h1 { font-size:clamp(2.35rem,9.6vw,3.6rem); max-width:100%; }
 .cinematic-hero .hero-lead { font-size:1rem; }
 .breadcrumb { margin-top:0; }
 .quick-trust { grid-template-columns:1fr 1fr; padding:1.5rem 1rem; margin-top:0; gap:0; }
 .quick-trust div { padding:1.2rem .8rem; min-width:0; }
 .quick-trust div:nth-child(3) { border-left:0; }
 .quick-trust div:nth-child(n+3) { border-top:1px solid rgba(220,153,107,.4); }
 .quick-trust strong { font-size:1.8rem; }
 .quick-trust div:nth-child(-n+2) strong { font-size:4.5rem; }
 .quick-trust span { font-size:.75rem; }
 .proof-invitation { padding-left:0; }
 .gallery-track { grid-auto-columns:84vw; padding-inline:8vw; scroll-padding-inline:8vw; }
 .gallery-item { max-height:none; }
 .gallery-item[style*='2/3'] { width:70vw; justify-self:center; }
 .gallery-item[style*='1/1'] { width:80vw; justify-self:center; }
 .cta-panel { padding-top:240px; min-height:540px; background:var(--brand); }
 .cta-panel::before { bottom:auto; height:250px; background-position:50% 25%; }
 .cta-panel::after { background:linear-gradient(180deg,transparent 100px,rgba(6,6,38,.18) 180px,var(--brand) 260px); }
 .floating-whatsapp { min-height:46px; }
 .consent-banner { flex-direction:column; align-items:stretch; gap:.75rem; }
 .consent-actions { justify-content:flex-end; }
 .why-photo,.why-photo img { min-height:0; }
 .why-photo { aspect-ratio:4/5; }
 .why-photo img { height:100%; object-position:50% 25%; }
}
@media(prefers-reduced-motion:reduce) { .gallery-item,.floating-whatsapp { transition:none; } }

/* V5.1 — leitura centralizada, ritmo e áreas de toque no celular. */
@media(max-width:800px) {
 html { scroll-padding-top:88px; }
 .section { padding-block:3.5rem; }
 .cinematic-copy,.authority,.why-copy,.section-heading,.intro-copy,
 .proof-layout,.process-section,.gallery-heading,.contact-aside,
 .testimonial-meta,.written-proof,.cta-panel { text-align:center; }
 .cinematic-copy > *, .section-title,.section-copy,.section-heading > *,
 .authority-intro,.cta-panel h2,.cta-panel p,.contact-aside h2 { margin-inline:auto; }
 .cinematic-copy h1,.section-title,.section-heading h2,.cta-panel h2 { text-wrap:balance; }
 .cinematic-hero .cinematic-copy h1 { font-size:clamp(2.2rem,9vw,3.3rem); line-height:1.08; }
 .cinematic-hero .cinematic-copy { padding:1.8rem var(--gutter) 2.5rem; }
 .hero-lead,.section-copy { line-height:1.7; }
 .hero-actions { align-items:center; justify-content:center; gap:1rem; margin-top:1.5rem; }
 .button { min-height:50px; max-width:100%; justify-content:center; text-align:center; }
 .hero-actions .button,.intro-copy > .button,.why-copy > .button,
 .proof-invitation > .button,.contact-aside > .button,.cta-panel > .button { width:min(100%,320px); margin-inline:auto; }
 .text-link { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
 .authority { margin:0 auto; padding:1.75rem 1rem; gap:1.5rem; box-shadow:none; }
 .authority-list dt { font-size:clamp(1.65rem,6.7vw,2.5rem); }
 .authority-list > div:nth-child(-n+2) dt { font-size:3.6rem; }
 .authority-list > div { padding:1.15rem .65rem; }
 .quick-trust { text-align:center; }
 .quick-trust strong { font-size:clamp(1.45rem,6.8vw,1.9rem); }
 .quick-trust div:nth-child(-n+2) strong { font-size:clamp(3.7rem,17vw,4.5rem); }
 .feature-list { text-align:left; max-width:32rem; margin-inline:auto; }
 .why-story,.intro-flow,.home-proof .proof-layout { gap:2rem; }
 .journey { gap:1rem; margin-top:2rem; }
 .journey-item { min-height:0; padding:1.5rem; }
 .journey-item h3 { margin-top:.8rem; }
 .gallery-heading { gap:1rem; }
 .gallery-heading .section-copy { margin-top:0; }
 .gallery-controls { gap:1.5rem; margin-top:1.5rem; }
 .gallery-arrow { min-width:48px; min-height:48px; }
 .cta-panel { padding-inline:1.5rem; padding-bottom:2rem; gap:1.5rem; }
 .contact-layout { gap:2rem; }
 .contact-trust { justify-items:center; }
 .form-card > h2,.form-card > .eyebrow,.form-actions { text-align:center; }
 .contact-form .field { text-align:left; }
 .contact-form input,.contact-form textarea { font-size:16px; width:100%; min-width:0; }
 .form-actions .button { width:100%; }
 .footer-social a { min-width:44px; min-height:44px; display:grid; place-items:center; }
 .footer-links a { min-height:44px; display:inline-flex; align-items:center; }
}
