/* Lidesvideo — estilos do site (desenho Figma "Lidesvideo Website design") */

@font-face{font-family:'Albert Sans';src:url('/fonts/AlbertSans-Var.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Albert Sans';src:url('/fonts/AlbertSans-Italic-Var.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Red Hat Display';src:url('/fonts/RedHatDisplay-Var.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:'Red Hat Display';src:url('/fonts/RedHatDisplay-Italic-Var.woff2') format('woff2');font-weight:300 900;font-style:italic;font-display:swap}
/* "LV Display": Cormorant Garamond (Google Fonts, licença SIL OFL — grátis, uso comercial e alojamento próprio permitidos), escolhida pelo Bruno em vez da Ponte do Figma */
@font-face{font-family:'LV Display';src:url('/fonts/CormorantGaramond-Var.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'LV Display';src:url('/fonts/CormorantGaramond-Italic-Var.woff2') format('woff2');font-weight:300 700;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--dark:#1c1d1d;--warm:#fbfaf7;--display:'LV Display',Georgia,serif;--body:'Albert Sans',Arial,sans-serif;--ui:'Red Hat Display',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--dark);background:var(--warm);-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}

/* Títulos: corte da Bodoni Moda mais parecido com a Ponte */
.lv-h1,.lv-hero-title,.lv-h2,.lv-h3,.lv-h3-caps,.lv-choose-link,.lv-service-title,.lv-form-title,.lv-footer-heading,.lv-pfp-filter,.lv-pfp-name,.lv-card-title,.lv-team-name{font-weight:400}

/* Cabeçalho */
.lv-header{position:absolute;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:24px 70px}
.lv-nav-side{display:flex;width:292px;justify-content:space-between;align-items:center}
.lv-nav-link{font-family:var(--ui);font-size:16px;line-height:18px;letter-spacing:-.16px;text-transform:uppercase;color:#fff;text-decoration:none}
.lv-nav-link:hover{opacity:.7}
.lv-header-dark .lv-nav-link,.lv-header-dark .lv-lang a{color:var(--dark)}
.lv-brand{display:block;width:176px}
.lv-brand img{display:block;width:176px;height:auto}
.lv-lang{position:absolute;top:8px;right:70px;font-family:var(--ui);font-size:12px;letter-spacing:.5px}
.lv-lang a{color:#fff;text-decoration:none;opacity:.6}
.lv-lang a[aria-current]{opacity:1;text-decoration:underline}

/* Comuns */
.lv-paper{position:absolute;inset:0;background-image:url('/img/papel-800.jpg');background-size:1000px;opacity:.3;pointer-events:none}
.lv-italic{font-style:italic;text-transform:lowercase;font-weight:400}
.lv-h1{margin:0;font-family:var(--display);font-weight:400;font-size:92px;line-height:92px;letter-spacing:-2.5px;text-transform:uppercase;color:var(--dark);text-align:center;max-width:880px}
.lv-h2{margin:0;font-family:var(--display);font-weight:400;font-size:64px;line-height:64px;letter-spacing:-1.5px;text-transform:uppercase;color:var(--dark);text-align:center}
.lv-h3{margin:0;font-family:var(--display);font-style:italic;font-weight:400;font-size:48px;line-height:54px;letter-spacing:-1px;text-transform:uppercase;color:var(--dark)}
.lv-h3-caps{margin:0;font-family:var(--display);font-weight:400;font-size:48px;line-height:48px;letter-spacing:-1px;text-transform:uppercase;color:var(--dark);max-width:490px}
.lv-light{color:#fff}
.lv-label{margin:0;font-family:var(--body);font-weight:500;font-size:20px;line-height:24px;text-transform:uppercase;color:var(--dark)}
.lv-body-lg{margin:0;font-family:var(--body);font-weight:300;font-size:18px;line-height:26px;color:var(--dark)}
.lv-strong{font-weight:600}
.lv-text-link{display:inline-block;padding:20px 32px;border-bottom:1px solid var(--dark);font-family:var(--ui);font-style:italic;font-weight:500;font-size:16px;line-height:18px;letter-spacing:-.16px;text-transform:uppercase;color:var(--dark);text-decoration:none}
.lv-text-link:hover{opacity:.7}
.lv-text-link.lv-light{color:#fff;border-bottom-color:#fff}
.lv-btn-outline{flex-shrink:0;display:inline-block;padding:20px 40px;border:1px solid #fff;font-family:var(--ui);font-style:italic;font-weight:500;font-size:16px;line-height:18px;text-transform:uppercase;color:#fff;text-decoration:none;transition:background-color .2s,color .2s}
.lv-btn-outline:hover{background:#fff;color:var(--dark)}
.lv-btn-outline.lv-dark{border-color:var(--dark);color:var(--dark)}
.lv-btn-outline.lv-dark:hover{background:var(--dark);color:#fff}
.lv-overlay{position:absolute;inset:0;background:rgba(0,0,0,.25)}

/* Início — capa */
.lv-hero{position:relative;height:850px;min-height:100vh;background:url('/img/inicio-capa.jpg') 50% 60%/cover;display:flex;align-items:flex-end;justify-content:center;padding-bottom:130px;overflow:hidden}
.lv-hero-content{position:relative;z-index:1;display:flex;align-items:center;gap:40px}
.lv-hero-label{display:flex;align-items:center;gap:24px}
.lv-hero-label span{font-family:var(--body);font-style:italic;font-weight:500;font-size:16px;line-height:18px;text-transform:uppercase;color:#fff;white-space:nowrap}
.lv-hero-label i{display:block;width:75px;height:1px;background:#fff}
.lv-hero-title{margin:0;font-family:var(--display);font-weight:400;font-size:92px;line-height:92px;letter-spacing:-2.5px;text-transform:uppercase;color:#fff;text-align:center;max-width:720px}

/* Início — sobre (colagem) */
.lv-about{position:relative;overflow:hidden;background:var(--warm);padding:120px 24px;min-height:1088px}
.lv-collage{position:absolute;display:block;object-fit:cover}
.lv-c-landscape{left:0;top:120px;width:271px;height:233px}
.lv-c-small{left:230px;top:292px;width:140px;height:200px}
.lv-c-bride{left:0;top:673px;width:271px;height:232px}
.lv-c-window{right:0;top:189px;width:369px;height:197px}
.lv-c-bw{right:133px;top:499px;width:236px;height:338px}
.lv-about-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:40px;max-width:567px;margin:0 auto;text-align:center}
.lv-about-main{display:block;width:361px;height:446px;object-fit:cover}

/* Pedido (CTA) */
.lv-cta{position:relative;overflow:hidden;min-height:720px;display:flex;align-items:center;justify-content:center;padding:120px 24px;background:url('/img/pedido-fundo.jpg?v=2') 50% 40%/cover}
.lv-cta-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:30px;max-width:827px}
.lv-cta-inner .lv-h2{max-width:600px}
.lv-cta-actions{display:flex;gap:30px;flex-wrap:wrap;justify-content:center}

/* Escolhe a tua história */
.lv-choose{position:relative;overflow:hidden;background:var(--warm);min-height:744px;display:flex;align-items:center;justify-content:center;padding:89px 24px}
.lv-ch-wedding{left:0;top:307px;width:234px;height:348px}
.lv-ch-couple{right:0;top:89px;width:236px;height:290px}
.lv-ch-family{right:103px;top:261px;width:231px;height:289px}
.lv-choose-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:100px;width:504px;max-width:100%;text-align:center}
.lv-choose-links{display:flex;flex-direction:column;align-items:center;gap:54px}
.lv-choose-link{font-family:var(--display);font-weight:400;font-size:100px;line-height:100px;letter-spacing:-3px;text-transform:uppercase;color:var(--dark);text-decoration:none;transition:opacity .2s}
.lv-choose-link:hover{opacity:.55}
.lv-choose-link.lv-it{font-style:italic;text-transform:lowercase;letter-spacing:-2.5px}

/* Mosaico do portefólio (início) */
.lv-pf{position:relative;overflow:hidden;background:var(--dark);padding:16px 0;display:flex;flex-direction:column;gap:16px}
.lv-pf-row{display:flex;gap:16px;height:417px}
.lv-pf-row img{display:block;height:100%;object-fit:cover;flex:1 1 0;min-width:0}
.lv-g199{flex-grow:199!important}.lv-g241{flex-grow:241!important}.lv-g312{flex-grow:312!important}
.lv-pf-overlay{position:absolute;inset:0;background:rgba(28,29,29,.35)}
.lv-pf-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;width:685px;max-width:90%;display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center}
.lv-pf-content .lv-body-lg{max-width:420px}
.lv-pf-content{text-shadow:0 1px 18px rgba(0,0,0,.45)}
.lv-pf-content .lv-text-link{text-shadow:none}

/* Texto claro sobre fotografia (tem de vir depois de .lv-body-lg/.lv-label) */
.lv-body-lg.lv-light,.lv-label.lv-light,.lv-h2.lv-light{color:#fff}

/* Testemunhos */
.lv-testi{position:relative;overflow:hidden;background:var(--warm);padding:118px 24px}
.lv-testi-inner{position:relative;z-index:1;max-width:900px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:50px;text-align:center}
.lv-testi-quote{display:block;width:46px;height:34px}
.lv-testi-text{margin:0;font-family:var(--body);font-weight:300;font-size:32px;line-height:40px}
.lv-testi-author{margin:0;font-family:var(--body);font-style:italic;font-weight:600;font-size:18px;line-height:20px;text-transform:uppercase}
.lv-testi-dark{background:var(--dark);color:#fff;padding:100px 24px;display:flex;flex-direction:column;align-items:center;gap:56px;text-align:center}
.lv-testi-img{display:block;width:376px;max-width:100%;height:252px;object-fit:cover}

/* Carrossel de testemunhos */
.lv-slider{position:relative;width:100%;max-width:1300px;margin:0 auto;padding:0 90px;display:flex;flex-direction:column;align-items:center;gap:28px}
.lv-slides{width:100%;max-width:900px;min-height:200px;display:flex;align-items:center}
.lv-slide{margin:0;display:flex;flex-direction:column;align-items:center;gap:36px;text-align:center;width:100%}
.lv-slide[hidden]{display:none}
.lv-slide blockquote{margin:0}
.lv-arrow{position:absolute;top:calc(50% - 30px);width:55px;height:40px;border:0;background:none;cursor:pointer;padding:0;opacity:.8}
.lv-arrow:hover{opacity:1}
.lv-arrow img{width:55px;height:auto;display:block}
.lv-prev{left:0}.lv-next{right:0}
.lv-on-dark .lv-arrow img{filter:invert(1)}
.lv-dots{display:flex;gap:10px}
.lv-dot{width:8px;height:8px;border-radius:50%;border:1px solid currentColor;background:none;padding:0;cursor:pointer;opacity:.5}
.lv-dot[aria-current="true"]{background:currentColor;opacity:1}
.lv-testi-dark .lv-testi-text{font-size:26px;line-height:34px}

/* Rodapé */
.lv-footer{background:var(--dark);color:#fff;padding:70px 70px 32px}
.lv-footer-inner{max-width:1300px;margin:0 auto;display:flex;flex-direction:column;gap:120px}
.lv-footer-social{display:flex;flex-direction:column;gap:20px}
.lv-footer-social-head{display:flex;justify-content:space-between;align-items:center}
.lv-footer-icons{display:flex;gap:8px}
.lv-footer-icons img{display:block;width:32px;height:32px}
.lv-footer-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.lv-footer-gallery a{display:block}
.lv-footer-gallery img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.lv-footer-main{display:flex;justify-content:space-between;align-items:flex-start;gap:40px}
.lv-footer-brand{display:flex;flex-direction:column;gap:32px;max-width:367px}
.lv-footer-brand img{display:block;width:176px;height:auto}
.lv-footer-text{margin:0;font-weight:200;font-size:16px;line-height:22px;color:#fff}
.lv-footer-nav{display:flex;gap:50px}
.lv-footer-col{display:flex;flex-direction:column;gap:32px}
.lv-footer-heading{margin:0;font-family:var(--display);font-size:28px;line-height:30px;letter-spacing:-1.4px;text-transform:uppercase}
.lv-footer-links{display:grid;grid-template-columns:110px 110px;gap:20px 32px}
.lv-footer-link{font-weight:200;font-size:16px;line-height:22px;color:#fff;text-decoration:none}
.lv-footer-link:hover{opacity:.7}
.lv-footer-contact{display:flex;flex-direction:column;gap:22px;max-width:200px}
.lv-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:32px;border-top:.5px solid rgba(255,255,255,.5);margin-top:-30px}
.lv-footer-meta{margin:0;font-family:var(--ui);font-weight:300;font-size:12px;line-height:14px;text-transform:uppercase;color:#fff;text-decoration:none}

/* Capas das páginas interiores */
.lv-page-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:250px 24px 200px;background:var(--warm) 50% 50%/cover}
.lv-page-hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:35px;max-width:878px;text-align:center}
.lv-page-hero-inner .lv-body-lg{max-width:448px}

/* Serviços */
.lv-services{position:relative;overflow:hidden;background:var(--dark);padding:100px 70px}
.lv-services.lv-on-light{background:var(--warm)}
.lv-services-inner{position:relative;z-index:1;max-width:1010px;margin:0 auto;display:flex;flex-direction:column;gap:56px}
.lv-service{display:flex;flex-direction:column;gap:40px;padding-bottom:20px}
.lv-service-head{display:flex;align-items:center;gap:24px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.5)}
.lv-on-light .lv-service-head{border-bottom-color:rgba(28,29,29,.5)}
.lv-service-num{font-weight:500;font-size:20px;line-height:24px;color:#fff}
.lv-service-title{margin:0;font-family:var(--display);font-weight:400;font-size:64px;line-height:64px;letter-spacing:-1.5px;text-transform:uppercase;color:#fff}
.lv-on-light .lv-service-num,.lv-on-light .lv-service-title{color:var(--dark)}
.lv-service-panel{display:flex;align-items:center;justify-content:space-between;gap:40px}
.lv-service-content{display:flex;align-items:center;gap:40px;max-width:753px}
.lv-service-img{display:block;width:175px;height:211px;object-fit:cover;flex-shrink:0}
.lv-service-text{display:flex;flex-direction:column;gap:20px;max-width:640px}
.lv-services:not(.lv-on-light) .lv-body-lg{color:#fff}

/* Histórias (casamentos) */
.lv-stories{position:relative;overflow:hidden;background:var(--warm);padding:125px 24px}
.lv-stories-inner{position:relative;z-index:1;max-width:808px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:100px}
.lv-stories-intro{display:flex;flex-direction:column;align-items:center;gap:30px;max-width:548px;text-align:center}
.lv-story{display:flex;align-items:center;justify-content:space-between;gap:40px;width:100%}
.lv-story:nth-child(odd){flex-direction:row-reverse}
.lv-story img{display:block;width:401px;height:506px;object-fit:cover;flex-shrink:0}
.lv-story-content{display:flex;flex-direction:column;align-items:center;gap:32px;width:364px;text-align:center}

/* Famílias */
.lv-fam-hero{position:relative;overflow:hidden;background:var(--warm);padding:200px 0 80px;display:flex;flex-direction:column;align-items:center;gap:80px}
.lv-fam-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:40px;padding:0 24px;text-align:center}
.lv-fam-hero-gallery{position:relative;z-index:1;display:flex;gap:20px;justify-content:center;width:100%}
.lv-fam-hero-gallery img{display:block;width:750px;height:526px;object-fit:cover;flex-shrink:0}
.lv-fam-stories{background:var(--dark);padding:100px 24px}
.lv-fam-stories-inner{max-width:874px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:64px}
.lv-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 32px;width:100%}
.lv-card{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:#fff;transition:opacity .2s}
a.lv-card:hover{opacity:.85}
.lv-card img{display:block;width:100%;aspect-ratio:421/520;object-fit:cover;margin-bottom:23px}
.lv-card-sub{margin:0;font-weight:300;font-size:18px;line-height:26px}
.lv-card-title{margin:0;font-family:var(--display);font-style:italic;font-size:32px;line-height:36px;letter-spacing:-1px;text-transform:uppercase}

/* Formulários */
.lv-form-section{position:relative;overflow:hidden;padding:190px 24px 120px;background:var(--warm) 50% 50%/cover;display:flex;justify-content:center}
.lv-form-card{position:relative;overflow:hidden;width:1116px;max-width:100%;padding:64px 72px;border:1px solid var(--dark);background:var(--warm);display:flex;flex-direction:column;align-items:center;gap:48px}
.lv-form-intro{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:40px;text-align:center}
.lv-form-intro .lv-body-lg{max-width:568px}
.lv-form-title{margin:0;font-family:var(--display);font-weight:400;font-size:48px;line-height:48px;letter-spacing:-1px;text-transform:uppercase}
.lv-form{position:relative;z-index:1;width:796px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:40px}
.lv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%}
.lv-input{width:100%;height:48px;margin:0;padding:12px 10px;border:0;border-bottom:.5px solid rgba(28,29,29,.6);border-radius:0;background:transparent;font-family:var(--body);font-size:16px;line-height:24px;color:var(--dark)}
.lv-input:focus{border-bottom-color:var(--dark);outline:none}
select.lv-input{appearance:none;-webkit-appearance:none;background:url('/img/chev.svg') no-repeat right 10px center/12px}
textarea.lv-input{grid-column:1/-1;height:110px;resize:vertical}
.lv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lv-submit{padding:16px 72px;border:1px solid var(--dark);background:var(--dark);font-family:var(--ui);font-style:italic;font-weight:500;font-size:16px;line-height:18px;text-transform:uppercase;color:#fff;cursor:pointer}
.lv-submit:hover{background:#fff;color:var(--dark)}
.lv-consent{grid-column:1/-1;font-size:13px;line-height:18px;color:rgba(28,29,29,.75)}

/* Portefólio */
.lv-pfp{position:relative;overflow:hidden;background:var(--warm);padding:200px 0 100px;display:flex;flex-direction:column;gap:72px}
.lv-pfp-head{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:48px;padding:0 24px;text-align:center}
.lv-pfp-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 48px}
.lv-pfp-filter{font-family:var(--display);font-style:italic;font-size:20px;line-height:24px;color:var(--dark);text-decoration:none;border-bottom:1px solid transparent}
.lv-pfp-filter:hover{border-bottom-color:var(--dark)}
.lv-pfp-group{position:relative;z-index:1;display:flex;flex-direction:column;gap:24px;scroll-margin-top:24px}
.lv-pfp-group .lv-label{padding:0 70px}
.lv-pfp-row{display:flex;gap:32px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 70px 24px}
.lv-pfp-card{flex:0 0 auto;width:420px;display:flex;flex-direction:column;align-items:center;gap:16px;scroll-snap-align:center;text-decoration:none;color:var(--dark)}
.lv-pfp-card img{display:block;width:100%;aspect-ratio:420/506;object-fit:cover;border:1px solid var(--dark)}
.lv-pfp-name{margin:0;font-family:var(--display);font-size:26px;line-height:30px;letter-spacing:-.5px;text-align:center}

/* Álbum */
.lv-album{position:relative;background:var(--warm);padding:200px 24px 100px}
.lv-album-head{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;margin-bottom:64px}
.lv-album-grid{position:relative;z-index:1;max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.lv-row{display:flex;gap:16px;align-items:flex-start}
.lv-row figure{margin:0;min-width:0}
.lv-row img{display:block;width:100%;height:auto;cursor:zoom-in}
.lv-row-big{margin:24px 0}
.lv-row-big.lv-row-tall{width:52%;align-self:center}
.lv-row-small-l,.lv-row-small-r{width:44%;margin:56px 0}
.lv-row-small-l.lv-row-tall,.lv-row-small-r.lv-row-tall{width:34%}
.lv-row-small-l{align-self:flex-start;margin-left:8%}
.lv-row-small-r{align-self:flex-end;margin-right:8%}
.lv-row-trio{padding:0 6%}
.lv-chapter{margin:96px 0 24px;text-align:center;font-family:var(--display);font-style:italic;font-weight:400;font-size:44px;line-height:1.1;color:var(--dark)}
.lv-chapter:first-child{margin-top:0}
.lv-chapter span{display:block;margin-bottom:12px;font-family:var(--body,inherit);font-style:normal;font-size:13px;letter-spacing:3px;opacity:.6}
.lv-cinema{max-width:1320px;gap:96px}
.lv-cinema .lv-row{gap:24px}
.lv-row-strip img{aspect-ratio:2.39/1;object-fit:cover;object-position:50% 40%}
.lv-cinema .lv-row-pair{padding:0 4%}
.lv-row-solo{width:40%;align-self:center}
.lv-row-solo.lv-row-tall{width:30%}
@media (max-width:767px){
  .lv-album-grid{gap:12px}
  .lv-row{flex-direction:column;gap:12px}
  .lv-row figure{flex:none!important;width:100%}
  .lv-row-big,.lv-row-small-l,.lv-row-small-r{margin:12px 0}
  .lv-row-big.lv-row-tall,.lv-row-small-l,.lv-row-small-r,.lv-row-small-l.lv-row-tall,.lv-row-small-r.lv-row-tall{width:78%;margin-left:0;margin-right:0}
  .lv-row-big.lv-row-tall{align-self:center}
  .lv-row-trio{padding:0}
  .lv-row-trio figure:nth-child(2){width:78%;align-self:flex-end}
  .lv-cinema{gap:48px}
  .lv-chapter{margin:56px 0 12px;font-size:32px}
  .lv-cinema .lv-row-pair{padding:0}
  .lv-row-strip img{aspect-ratio:16/9}
  .lv-row-solo,.lv-row-solo.lv-row-tall{width:72%}
}
.lv-album-video{position:relative;z-index:1;max-width:1100px;margin:0 auto 64px;aspect-ratio:16/9}
.lv-album-video iframe{width:100%;height:100%;border:0}

/* Sobre */
.lv-about-hero{position:relative;overflow:hidden;background:var(--warm);padding:170px 0 20px;display:flex;flex-direction:column;align-items:center;gap:60px}
.lv-about-hero .lv-h1{position:relative;z-index:1;padding:0 24px}
.lv-about-hero-gallery{position:relative;z-index:1;width:100%;max-width:1440px;height:740px}
.lv-ah-main{position:absolute;left:50%;top:216px;transform:translateX(-50%);width:880px;max-width:90%;height:524px;object-fit:cover}
.lv-ah-side{position:absolute;width:204px;height:308px;object-fit:cover}
.lv-ah-left{left:0;top:324px}.lv-ah-right{right:0;top:0}
.lv-approach{position:relative;overflow:hidden;background:var(--warm);padding:110px 24px}
.lv-approach-inner{position:relative;z-index:1;max-width:955px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:40px;text-align:center}
.lv-approach-inner p{margin:0 0 20px;font-size:18px;line-height:24px}
.lv-team{background:var(--dark);padding:100px 24px;display:flex;flex-direction:column;align-items:center;gap:40px}
.lv-team-grid{display:grid;grid-template-columns:repeat(3,411px);gap:30px;justify-content:center;max-width:100%}
.lv-team-member{display:flex;flex-direction:column;gap:15px;text-align:center;color:#fff}
.lv-team-member img{display:block;width:100%;aspect-ratio:411/502;object-fit:cover}
.lv-team-name{margin:0;font-family:var(--display);font-weight:500;font-size:28px;line-height:30px}
.lv-team-role{margin:0;font-weight:300;font-size:18px;line-height:26px}
.lv-storyblock{position:relative;overflow:hidden;background:var(--warm);display:flex;align-items:center;justify-content:space-between;gap:60px;padding:0 79px 0 0}
.lv-storyblock.lv-rev{flex-direction:row-reverse;padding:0 0 0 79px}
.lv-storyblock>img{position:relative;z-index:1;display:block;width:720px;max-width:50%;height:724px;object-fit:cover;border:1px solid var(--dark);flex-shrink:0}
.lv-storyblock-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:40px;max-width:567px;padding:80px 0}
.lv-storyblock-head{display:flex;flex-direction:column;gap:38px}
.lv-divider{width:212px;height:1px;background:var(--dark)}
.lv-stack{display:flex;flex-direction:column;gap:22px}
.lv-leave{position:relative;overflow:hidden;background:var(--warm);padding:120px 24px;display:flex;align-items:flex-end;justify-content:center;gap:40px}
.lv-leave-images{position:relative;z-index:1;width:348px;height:534px;flex-shrink:0}
.lv-leave-big{position:absolute;left:0;top:0;width:328px;height:432px;object-fit:cover}
.lv-leave-small{position:absolute;left:176px;top:316px;width:172px;height:218px;object-fit:cover;border:6px solid var(--warm)}
.lv-leave-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:40px;width:446px;max-width:100%}
.lv-leave-content .lv-stack{padding-left:40px}

/* Texto simples (obrigado, privacidade) */
.lv-plain{position:relative;background:var(--warm);padding:220px 24px 120px;min-height:70vh}
.lv-plain-inner{position:relative;z-index:1;max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:24px}
.lv-plain-inner h1{margin-bottom:16px}

/* Tablet */
@media (max-width:991px){
  .lv-header{padding:20px 24px}
  .lv-nav-side{width:auto;gap:18px}
  .lv-nav-link{font-size:13px}
  .lv-brand,.lv-brand img{width:120px}
  .lv-lang{right:24px}
  .lv-hero-content{flex-direction:column;gap:24px}
  .lv-hero-title{font-size:72px;line-height:72px;letter-spacing:-3px}
  .lv-collage{display:none}
  .lv-about{min-height:0;padding:100px 24px}
  .lv-footer{padding:56px 24px 24px}
  .lv-footer-main{flex-direction:column}
  .lv-footer-inner{gap:64px}
  .lv-services{padding:80px 24px}
  .lv-service-panel{flex-direction:column;align-items:flex-start}
  .lv-team-grid{grid-template-columns:repeat(3,1fr)}
  .lv-storyblock,.lv-storyblock.lv-rev{flex-direction:column;padding:0 24px 40px;gap:0}
  .lv-storyblock>img{max-width:100%;width:100%;height:auto;aspect-ratio:1/1}
}
/* Telemóvel */
@media (max-width:767px){
  .lv-header{flex-wrap:wrap;justify-content:center;gap:10px 18px;padding:28px 16px 16px}
  .lv-brand{order:-1;width:100%;display:flex;justify-content:center}
  .lv-nav-side{gap:16px}
  .lv-nav-link{font-size:12px}
  .lv-lang{top:8px;right:16px}
  .lv-hero{height:auto;min-height:640px;padding-bottom:80px}
  .lv-hero-title{font-size:44px;line-height:46px;letter-spacing:-1.5px;max-width:340px}
  .lv-hero-label i{width:40px}
  .lv-hero-label span{font-size:13px}
  .lv-h1{font-size:42px;line-height:44px;letter-spacing:-1.5px}
  .lv-h2{font-size:38px;line-height:40px;letter-spacing:-1px}
  .lv-h3,.lv-h3-caps{font-size:32px;line-height:36px}
  .lv-about{padding:72px 16px}
  .lv-about-main{width:100%;max-width:361px;height:auto;aspect-ratio:361/446}
  .lv-cta{min-height:520px}
  .lv-cta-actions{flex-direction:column;align-items:center;gap:8px}
  .lv-choose{min-height:0;padding:80px 16px}
  .lv-choose-inner{gap:48px}
  .lv-choose-links{gap:24px}
  .lv-choose-link{font-size:52px;line-height:54px;letter-spacing:-2px}
  .lv-pf-row{height:260px}
  .lv-pf-row .lv-hide-m{display:none}
  .lv-testi{padding:72px 16px}
  .lv-testi-text,.lv-testi-dark .lv-testi-text{font-size:19px;line-height:27px}
  .lv-slider{padding:0 0 0}
  .lv-arrow{top:auto;bottom:-6px}
  .lv-prev{left:8px}.lv-next{right:8px}
  .lv-testi-inner{gap:32px}
  .lv-testi-dark{padding:72px 16px;gap:40px}
  .lv-footer-gallery{grid-template-columns:repeat(3,1fr)}
  .lv-footer-nav{flex-direction:column;gap:40px}
  .lv-footer-bottom{flex-direction:column;text-align:center;margin-top:0}
  .lv-footer-social-head{flex-direction:column;gap:16px}
  .lv-page-hero{padding:190px 16px 100px}
  .lv-service-title{font-size:34px;line-height:36px;letter-spacing:-1.5px}
  .lv-service-content{flex-direction:column;align-items:flex-start}
  .lv-service-head{gap:16px;padding-bottom:24px}
  .lv-stories{padding:80px 16px}
  .lv-stories-inner{gap:64px}
  .lv-story,.lv-story:nth-child(odd){flex-direction:column}
  .lv-story img{width:100%;height:auto;aspect-ratio:401/506}
  .lv-story-content{width:100%}
  .lv-fam-hero{padding:180px 0 56px;gap:48px}
  .lv-fam-hero-gallery img{width:86vw;height:auto;aspect-ratio:750/526}
  .lv-fam-hero-gallery .lv-hide-m{display:none}
  .lv-fam-stories{padding:72px 16px}
  .lv-card-grid{grid-template-columns:1fr;gap:48px}
  .lv-form-section{padding:190px 16px 72px}
  .lv-form-card{padding:40px 20px;gap:32px}
  .lv-form-grid{grid-template-columns:1fr}
  .lv-form-title{font-size:34px;line-height:36px}
  .lv-pfp{padding:180px 0 64px;gap:48px}
  .lv-pfp-card{width:78vw}
  .lv-pfp-row{padding:0 16px 16px;gap:16px}
  .lv-pfp-group .lv-label{padding:0 16px}
  .lv-pfp-filters{gap:12px 24px}
  .lv-album{padding:180px 12px 64px}
  .lv-about-hero{padding:180px 0 40px;gap:32px}
  .lv-about-hero-gallery{height:auto;display:flex;justify-content:center}
  .lv-ah-main{position:static;transform:none;width:90%;height:auto;aspect-ratio:880/524}
  .lv-ah-side{display:none}
  .lv-team-grid{grid-template-columns:1fr;gap:48px;max-width:420px}
  .lv-storyblock-content{padding:48px 0 24px}
  .lv-leave{flex-direction:column;align-items:center;padding:72px 16px}
  .lv-leave-images{width:300px;height:460px}
  .lv-leave-big{width:282px;height:372px}
  .lv-leave-small{left:150px;top:272px;width:150px;height:188px}
  .lv-leave-content .lv-stack{padding-left:0}
  .lv-plain{padding:190px 16px 80px}
}
@media (max-width:479px){
  .lv-hero-title{font-size:38px;line-height:40px}
  .lv-h1{font-size:38px;line-height:40px}
  .lv-h2{font-size:34px;line-height:36px}
  .lv-choose-link{font-size:46px;line-height:48px}
}
/* Telemóveis: fundos em versão leve */
@media (max-width:767px){.lv-hero{background-image:url('/img/inicio-capa-800.jpg')}.lv-cta{background-image:url('/img/pedido-fundo-800.jpg?v=2')}}
/* Vídeo de fundo do topo (se existir) */
.lv-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.lv-hero .lv-overlay,.lv-hero-content{z-index:1}.lv-hero-content{position:relative}
/* Instagram do rodapé: faixa que desliza de ponta a ponta do ecrã */
.lv-footer{overflow-x:clip}
.lv-footer-gallery.lv-insta-marquee{display:block;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw)}
.lv-insta-track{display:flex;width:max-content;animation:lv-insta 60s linear infinite}
.lv-insta-track a,.lv-insta-copy{display:flex;gap:8px;flex:none}.lv-insta-track{gap:8px}.lv-insta-copy{padding-right:0}
.lv-insta-marquee img{width:180px;height:180px;aspect-ratio:auto;object-fit:cover;border-radius:4px}
.lv-insta-marquee:hover .lv-insta-track{animation-play-state:paused}
@keyframes lv-insta{to{transform:translateX(calc(-50% - 4px))}}
@media (max-width:767px){.lv-insta-marquee img{width:120px;height:120px}.lv-insta-track{animation-duration:45s}}
@media (prefers-reduced-motion:reduce){.lv-insta-track{animation:none}.lv-footer-gallery.lv-insta-marquee{overflow-x:auto}}
/* ---------- Efeitos de rato (só em computador, com rato) ---------- */
@media (hover:hover) and (pointer:fine){
  /* Botões de texto: o fundo enche de baixo para cima e a letra inverte (como no Figma) */
  .lv-text-link{background:linear-gradient(var(--dark),var(--dark)) no-repeat 50% 100%/100% 0;transition:background-size .45s cubic-bezier(.7,0,.2,1),color .3s,letter-spacing .45s}
  .lv-text-link.lv-light{background-image:linear-gradient(#fff,#fff)}
  .lv-text-link:hover{opacity:1;background-size:100% 100%;color:#fff;letter-spacing:.6px}
  .lv-text-link.lv-light:hover{color:var(--dark)}
  .lv-btn-outline,.lv-submit{transition:background .35s,color .35s,letter-spacing .45s}
  .lv-btn-outline:hover,.lv-submit:hover{letter-spacing:.6px}
  /* Menu e rodapé: a palavra inclina-se (falso itálico) e um traço desenha-se por baixo */
  .lv-nav-link,.lv-footer-link{display:inline-block;background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;transition:background-size .4s cubic-bezier(.7,0,.2,1),transform .3s}
  .lv-nav-link:hover,.lv-footer-link:hover{opacity:1;background-size:100% 1px;transform:skewX(-12deg)}
  /* "casamentos / famílias": a palavra cresce, a outra desaparece e uma foto segue o rato */
  .lv-choose-link{display:inline-block;transition:opacity .4s,transform .6s cubic-bezier(.2,.7,.2,1)}
  .lv-choose-link:hover{opacity:1;transform:scale(1.15)}
  .lv-choose-links.is-hovering .lv-choose-link:not(:hover){opacity:.15}
  .lv-float{position:fixed;left:0;top:0;width:220px;height:280px;object-fit:cover;pointer-events:none;z-index:0;opacity:0;transition:opacity .3s;filter:grayscale(.2) contrast(1.05)}
  .lv-float.is-on{opacity:1}
  /* Fotos dos álbuns: aproximam-se devagar e ganham contraste, como película */
  .lv-card,.lv-pfp-card{overflow:hidden}
  .lv-card img,.lv-pfp-card img,.lv-story img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s}
  .lv-card:hover,.lv-pfp-card:hover{opacity:1}
  .lv-card:hover img,.lv-pfp-card:hover img{transform:scale(1.035);filter:contrast(1.08) saturate(1.1)}
  .lv-card:hover .lv-card-title,.lv-pfp-card:hover .lv-pfp-name{font-style:italic}
  /* Cursor "ver história" */
  .lv-cursor{position:fixed;left:0;top:0;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;background:#fff;color:var(--dark);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--display);font-style:italic;font-size:18px;line-height:1;pointer-events:none;z-index:60;box-shadow:0 6px 24px rgba(0,0,0,.18);scale:0;transition:scale .35s cubic-bezier(.2,.7,.2,1)}
  .lv-cursor.is-on{scale:1}
  /* Instagram: a miniatura roda um pouco e as outras escurecem */
  .lv-insta-track a{transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.2,1)}
  .lv-insta-track:hover a{opacity:.45}
  .lv-insta-track a:hover{opacity:1;transform:rotate(-3deg) scale(1.08);position:relative;z-index:1}
  /* Setas dos testemunhos afastam-se */
  .lv-arrow{transition:transform .3s,opacity .3s}
  .lv-prev:hover{transform:translateX(-8px)}.lv-next:hover{transform:translateX(8px)}
}
@media (prefers-reduced-motion:reduce){.lv-text-link,.lv-nav-link,.lv-footer-link,.lv-choose-link,.lv-card img,.lv-pfp-card img,.lv-insta-track a{transition:none!important}}
/* Línguas: bandeiras de Portugal e de Inglaterra */
.lv-lang{display:flex;gap:10px;align-items:center}
.lv-lang a,.lv-lang a[aria-current]{opacity:.45;text-decoration:none;transition:opacity .2s,transform .2s}
.lv-lang a[aria-current],.lv-lang a:hover{opacity:1}
.lv-lang a:hover{transform:translateY(-1px)}
.lv-lang img{display:block;width:24px;height:16px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
/* Galeria dos álbuns: foto em grande */
.lv-lb{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(18,18,18,.96)}
.lv-lb[hidden]{display:none}
.lv-lb img{max-width:92vw;max-height:86vh;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lv-lb button{position:absolute;border:0;background:none;color:#fff;font-family:var(--display);cursor:pointer;opacity:.75;transition:opacity .2s,transform .2s}
.lv-lb button:hover{opacity:1}
.lv-lb-close{top:18px;right:26px;font-size:54px;line-height:1}
.lv-lb-prev,.lv-lb-next{top:calc(50% - 40px);font-size:80px;line-height:1;padding:0 18px}
.lv-lb-prev{left:10px}.lv-lb-next{right:10px}
.lv-lb-prev:hover{transform:translateX(-4px)}.lv-lb-next:hover{transform:translateX(4px)}
.lv-lb-count{position:absolute;bottom:18px;left:0;right:0;margin:0;text-align:center;color:#fff;font-family:var(--ui);font-size:13px;letter-spacing:.2em}
.lv-album-grid img{transition:opacity .3s}.lv-album-grid img:hover{opacity:.88}
@media (max-width:767px){.lv-lb-prev,.lv-lb-next{font-size:54px;padding:0 6px}}
/* Política de privacidade */
.lv-legal .lv-legal-h{margin:44px 0 12px;font-family:var(--display);font-weight:400;font-size:30px;line-height:1.15;color:var(--dark)}
.lv-legal .lv-body-lg{margin:0 0 14px}
.lv-legal b{font-weight:600}
.lv-legal-date{margin:8px 0 28px;font-family:var(--ui);font-size:13px;letter-spacing:.12em;text-transform:uppercase;opacity:.6}
/* "Escolhe a tua história": CASAMENTOS grande em maiúsculas, famílias mais pequeno em minúsculas */
.lv-choose-link.lv-it{font-size:118px;line-height:110px;text-transform:uppercase;letter-spacing:-3px}
.lv-choose-link:not(.lv-it){font-size:78px;line-height:84px;text-transform:lowercase;letter-spacing:-1.5px}
@media (max-width:991px){.lv-choose-link.lv-it{font-size:84px;line-height:84px}.lv-choose-link:not(.lv-it){font-size:58px;line-height:62px}}
@media (max-width:479px){.lv-choose-link.lv-it{font-size:54px;line-height:56px;letter-spacing:-1.5px}.lv-choose-link:not(.lv-it){font-size:40px;line-height:44px}}
/* Redes no rodapé: quadrados brancos com o ícone a preto */
.lv-footer-icons{gap:7px}
.lv-social{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:#fff;color:#111;transition:transform .25s,background .25s}
.lv-social svg{width:14px;height:14px}
.lv-social:hover{transform:translateY(-3px);background:var(--warm)}
/* Ligação discreta ao Lidesbrand no rodapé */
.lv-brandlink{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s,opacity .25s}
.lv-brandlink:hover{border-bottom-color:currentColor;opacity:.8}
/* Menu com 4 links de cada lado */
@media (min-width:992px){.lv-nav-side{width:auto;gap:clamp(20px,2.4vw,44px)}}
@media (min-width:992px) and (max-width:1279px){.lv-header{padding:24px 32px}.lv-nav-link{font-size:13px}}
/* Cartaz (vertical 2:3) inteiro, sem cortes */
.lv-storyblock>img.lv-poster{width:483px;height:724px;object-fit:cover}
@media (max-width:991px){.lv-storyblock>img.lv-poster{width:100%;height:auto;aspect-ratio:2/3}}
/* Vídeo das palmas (16:9) */
video.lv-testi-img{width:448px;height:252px}

/* fotos com width/height no HTML: manter a proporção quando o CSS só define um dos lados */
:where(img[width][height]){width:auto;height:auto}
/* título da página principal: frase + assinatura por baixo */
.lv-hero-content{flex-direction:column;gap:28px}
.lv-hero-sign{text-align:center;color:#fff}
.lv-hero-brand{margin:0 0 8px;font-family:var(--body);font-weight:500;font-size:15px;letter-spacing:4px;text-transform:uppercase}
.lv-hero-role{margin:0;font-family:var(--body);font-style:italic;font-size:16px;letter-spacing:.5px}
@media (max-width:767px){.lv-hero-content{gap:18px}.lv-hero-brand{font-size:12px;letter-spacing:3px}.lv-hero-role{font-size:14px}}
/* página Sobre: abertura em ecrã inteiro com vídeo em repetição (ou foto com zoom lento) */
.lv-about-film{position:relative;height:100vh;min-height:620px;max-height:1000px;overflow:hidden;background:var(--dark);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.lv-about-film-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.lv-about-film-still{animation:lv-slowzoom 24s ease-in-out infinite alternate}
@keyframes lv-slowzoom{from{transform:scale(1)}to{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.lv-about-film-still{animation:none}}
.lv-about-film .lv-overlay{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.15) 45%,rgba(0,0,0,.45));z-index:1}
.lv-about-film-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:22px;padding:0 24px}
.lv-about-film-kicker{margin:0;font-family:var(--body);font-weight:500;font-size:14px;letter-spacing:4px;text-transform:uppercase}
.lv-about-film-title{margin:0;font-family:var(--display);font-weight:400;font-size:120px;line-height:.95;letter-spacing:-2px;text-transform:uppercase}
.lv-about-film-sub{margin:0;max-width:520px;font-family:var(--body);font-style:italic;font-size:18px;line-height:26px}
.lv-about-film-down{position:absolute;z-index:2;left:50%;bottom:36px;width:1px;height:64px;background:rgba(255,255,255,.7);transform:translateX(-50%)}
.lv-about-film-down::after{content:"";position:absolute;left:-4px;bottom:0;width:9px;height:9px;border-right:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(45deg)}
@media (max-width:767px){.lv-about-film{height:88vh;min-height:520px}.lv-about-film-title{font-size:64px}.lv-about-film-kicker{font-size:11px;letter-spacing:3px}.lv-about-film-sub{font-size:15px;line-height:22px}}
/* página Sobre: secções novas */
.lv-about-sec{position:relative;overflow:hidden;background:var(--warm);padding:110px 24px}
.lv-about-sec .lv-about-inner{position:relative;z-index:1;max-width:1240px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:48px;text-align:center}
.lv-about-sec.lv-about-narrow .lv-about-inner{max-width:760px;gap:32px}
.lv-about-sec .lv-about-inner .lv-body-lg{margin:0 0 16px}
.lv-about-dark{background:var(--dark);color:#fff}.lv-about-dark .lv-body-lg{color:#fff}
.lv-voices{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;width:100%;text-align:left}
.lv-voice{display:flex;flex-direction:column;gap:24px}
.lv-voice-photo{position:relative;display:flex;flex-direction:column;gap:24px}
.lv-voice-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
@media (hover:hover) and (pointer:fine){
  .lv-voice-photo{display:block;overflow:hidden}
  .lv-voice-photo img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
  .lv-voice-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,18,16,.94) 0%,rgba(20,18,16,.8) 45%,rgba(20,18,16,.3) 100%);opacity:0;transition:opacity .6s ease;pointer-events:none}
  .lv-voice-photo .lv-voice-quote{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:32px 28px;color:#fff;opacity:0;transform:translateY(16px);transition:opacity .6s ease .1s,transform .7s ease .1s}
  .lv-about-sec .lv-voice-photo .lv-voice-quote p{font-size:16px;line-height:25px;color:#fff;margin:0 0 12px;text-shadow:0 1px 8px rgba(0,0,0,.45)}
  .lv-voice-photo .lv-todo{color:#fff;border-color:rgba(255,255,255,.5)}
  .lv-voice:hover .lv-voice-photo::after,.lv-voice:hover .lv-voice-quote{opacity:1;transform:none}
  .lv-voice:hover .lv-voice-photo>img:first-child{transform:scale(1.04)}
}
.lv-voice-quote .lv-body-lg{font-style:italic}
.lv-voice-name{margin:8px 0 0;font-family:var(--display);font-style:italic;font-size:28px;line-height:32px}
.lv-voice .lv-team-role{margin:4px 0 0;color:var(--dark);opacity:.7}
.lv-about-wide{margin:0;background:var(--warm)}
.lv-about-wide img{display:block;width:100%;height:min(80vh,820px);object-fit:cover}
.lv-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;text-align:left;width:100%}
.lv-pillar-title{margin:0 0 20px;font-family:var(--display);font-weight:400;font-size:34px;line-height:38px;text-transform:uppercase;letter-spacing:-.5px}
.lv-about-quote{margin:24px 0 0;padding:0 0 0 20px;border-left:1px solid var(--dark)}
.lv-about-quote p{margin:0 0 10px;font-family:var(--display);font-style:italic;font-size:22px;line-height:30px}
.lv-about-quote cite{font-style:normal;font-size:14px;letter-spacing:1px;text-transform:uppercase}
.lv-todo{width:100%;padding:20px 24px;border:1px dashed rgba(28,29,29,.45);text-align:left;font-size:15px;line-height:22px;color:rgba(28,29,29,.75)}
.lv-todo p{margin:0 0 8px;font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:12px}
.lv-todo ul{margin:0;padding-left:18px}
.lv-about-dark .lv-todo{border-color:rgba(255,255,255,.5);color:rgba(255,255,255,.8)}
@media (max-width:991px){.lv-voices,.lv-pillars{grid-template-columns:1fr;max-width:520px;margin:0 auto}}
@media (max-width:767px){.lv-about-sec{padding:72px 20px}.lv-about-wide img{height:60vh}.lv-pillar-title{font-size:28px;line-height:32px}}

/* Início · "Captar emoções reais": entre 992 e 1359 px as fotos da colagem encolhem para não taparem o texto */
@media (min-width:992px) and (max-width:1359px){
  .lv-about-inner{max-width:480px}
  .lv-c-landscape{width:176px;height:151px}
  .lv-c-small{left:150px;top:230px;width:91px;height:130px}
  .lv-c-bride{top:600px;width:176px;height:151px}
  .lv-c-window{width:240px;height:128px}
  .lv-c-bw{right:86px;top:420px;width:153px;height:220px}
}

/* Teasers verticais */
.lv-teasers{background:var(--dark);color:#fff;padding:100px 0;display:flex;flex-direction:column;align-items:center;gap:40px}
.lv-tz-head{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:0 24px}
.lv-tz-wrap{position:relative;width:100%}
.lv-tz-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(24px,calc(50vw - 620px));scrollbar-width:none}
.lv-tz-track::-webkit-scrollbar{display:none}
.lv-tz-item{flex:none;width:260px;scroll-snap-align:center;display:flex;flex-direction:column;gap:10px}
.lv-teaser{position:relative;display:block;width:100%;aspect-ratio:9/16;padding:0;border:0;background:#000;cursor:pointer;overflow:hidden}
.lv-teaser video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .4s}
.lv-tz-play{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(0,0,0,.25);transition:transform .4s,background .4s}
.lv-tz-play::after{content:"";position:absolute;left:23px;top:18px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent #fff}
.lv-tz-title{margin:6px 0 0;font-family:var(--display);font-style:italic;font-size:22px;line-height:26px;color:#fff}
.lv-tz-gallery{color:#fff;opacity:.7;font-size:14px;letter-spacing:1px;text-transform:uppercase;text-decoration:none}
.lv-tz-gallery:hover{opacity:1}
.lv-tz-arrow{position:absolute;top:calc(50% - 40px);z-index:2;width:48px;height:48px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(28,29,29,.6);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.lv-tz-left{left:20px}.lv-tz-right{right:20px}
@media (hover:hover) and (pointer:fine){.lv-teaser:hover video{transform:scale(1.04)}.lv-teaser:hover .lv-tz-play{transform:scale(1.1);background:rgba(0,0,0,.45)}}
@media (max-width:767px){.lv-teasers{padding:72px 0;gap:28px}.lv-tz-item{width:68vw}.lv-tz-arrow{display:none}.lv-tz-track{gap:14px;padding:0 16vw}}
.lv-tz-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:24px;background:rgba(10,10,10,.94)}
.lv-tz-modal[hidden]{display:none}
.lv-tz-modal figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px}
.lv-tz-modal video{display:block;height:min(84vh,calc((100vw - 32px)*16/9));max-width:calc(100vw - 32px);aspect-ratio:9/16;background:#000}
.lv-tz-name{color:#fff;font-family:var(--display);font-style:italic;font-size:22px}
.lv-tz-close,.lv-tz-prev,.lv-tz-next{border:0;background:none;color:#fff;font-size:44px;line-height:1;cursor:pointer;padding:8px}
.lv-tz-close{position:absolute;top:12px;right:20px}
@media (max-width:767px){.lv-tz-prev,.lv-tz-next{position:absolute;bottom:16px}.lv-tz-prev{left:24px}.lv-tz-next{right:24px}.lv-tz-modal video{height:auto;width:calc(100vw - 32px);max-height:76vh}}

/* Same Day Edit: os mesmos cartões dos teasers, mas horizontais; o leitor abre em 16:9 */
.lv-teasers+.lv-sde{padding-top:0}
.lv-sde .lv-tz-item{width:min(560px,80vw)}
.lv-sde .lv-teaser{aspect-ratio:16/9}
.lv-tz-modal.is-wide video{aspect-ratio:16/9;height:auto;width:min(calc(100vw - 160px),calc(84vh*16/9));max-height:84vh}
@media (max-width:767px){.lv-sde .lv-tz-item{width:84vw}.lv-sde .lv-tz-track{padding:0 8vw}.lv-tz-modal.is-wide video{width:calc(100vw - 32px)}}

/* Campanha de lançamento nos casamentos (some sozinha a 1 de janeiro): poster de cinema oferecido */
.lv-promo{position:relative;padding:110px 24px;background:var(--warm);overflow:hidden}
.lv-promo-inner{position:relative;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(220px,380px) 1fr;align-items:center;gap:80px}
.lv-promo-poster{margin:0;transform:rotate(-3deg);box-shadow:0 30px 60px rgba(0,0,0,.28);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.lv-promo-poster img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover}
@media (hover:hover) and (pointer:fine){.lv-promo-poster:hover{transform:rotate(0) scale(1.02)}}
.lv-promo-text{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.lv-promo-text .lv-h2,.lv-promo-text .lv-body-lg{margin:0;text-align:left}
.lv-promo-kicker{margin:0;padding:10px 22px;background:var(--dark);color:#fff;font-family:var(--ui);font-size:13px;letter-spacing:.25em;text-transform:uppercase}
.lv-promo-dates{margin:0;padding:14px 22px;border:1px dashed var(--dark);font-family:var(--ui);font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.lv-promo-dates b{display:block;font-family:var(--display);font-weight:400;font-size:30px;letter-spacing:0}
.lv-promo-btn{display:inline-block;padding:20px 40px;background:var(--dark);color:#fff;font-family:var(--ui);font-style:italic;font-weight:500;font-size:16px;text-transform:uppercase;text-decoration:none;transition:opacity .2s}
.lv-promo-btn:hover{opacity:.85}
@media (max-width:767px){.lv-promo{padding:72px 16px}.lv-promo-inner{grid-template-columns:1fr;gap:48px}.lv-promo-poster{width:66vw;margin:0 auto}.lv-promo-text{align-items:center}.lv-promo-text .lv-h2,.lv-promo-text .lv-body-lg{text-align:center}}


/* Páginas de pedido: escolher casamento ou família */
.lv-inq-switch{position:relative;z-index:1;display:flex;border:1px solid var(--dark);border-radius:999px;padding:4px;gap:4px}
.lv-inq-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:200px;padding:12px 28px;border-radius:999px;font-family:var(--ui);font-weight:500;font-size:16px;line-height:18px;letter-spacing:.3px;text-transform:uppercase;color:var(--dark);text-decoration:none;transition:background .2s,color .2s}
.lv-inq-tab small{margin-top:4px;font-family:var(--body);font-weight:300;font-size:12px;line-height:14px;letter-spacing:0;text-transform:none;opacity:.75}
.lv-inq-tab:hover{background:rgba(28,29,29,.07)}
.lv-inq-tab[aria-current=page]{background:var(--dark);color:var(--warm)}
@media(max-width:767px){.lv-inq-switch{width:100%}.lv-inq-tab{flex:1;min-width:0;padding:10px 12px;font-size:14px}}
.lv-inq-tab small{text-align:center}

/* Página inicial: título ao centro do vídeo */
.lv-hero{align-items:center;padding-bottom:0}

/* Página inicial: "Captar emoções reais" com duas faixas de fotos de casamento a deslizar */
.lv-about-reel{min-height:0;padding:120px 0}
.lv-about-reel .lv-about-inner{padding:0 24px}
.lv-reel{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;margin:64px 0;overflow:hidden}
.lv-reel-track{display:flex;width:max-content;animation:lv-reel 80s linear infinite}
.lv-reel-row:nth-child(2) .lv-reel-track{animation-direction:reverse;animation-duration:95s}
.lv-reel img{display:block;height:340px;width:auto;margin-right:16px;object-fit:cover}
@keyframes lv-reel{to{transform:translateX(-50%)}}
@media (max-width:767px){.lv-about-reel{padding:72px 0}.lv-reel{gap:10px;margin:40px 0}.lv-reel img{height:200px;margin-right:10px}}
@media (prefers-reduced-motion:reduce){.lv-reel-track{animation:none}}
/* páginas das quintas */
.lv-venue-intro{max-width:720px;display:flex;flex-direction:column;gap:16px}
.lv-venue-link{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.lv-venue-story{display:flex;flex-direction:column;gap:64px;margin-bottom:120px}
.lv-venue-meta{text-align:center;margin:0}
.lv-venue-more{text-align:center;margin:0}
.lv-venue-others{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.lv-venue-others div{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px}
.lv-venue-lead{max-width:640px}
.lv-venue-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:48px 32px;padding:0 70px 24px}
.lv-venue-zone{margin:-8px 0 0;font-size:14px;opacity:.7;text-align:center}
.lv-pfp-more{align-self:center}
@media (max-width:767px){.lv-venue-grid{padding:0 16px 16px;gap:40px}.lv-venue-story{gap:24px;margin-bottom:72px}}

/* Perguntas frequentes (página destination) */
.lv-faq{width:100%;text-align:left;border-top:1px solid rgba(0,0,0,.15)}
.lv-faq-item{border-bottom:1px solid rgba(0,0,0,.15);padding:22px 0}
.lv-faq-item summary{cursor:pointer;list-style:none;font-family:'Cormorant Garamond',serif;font-size:24px;line-height:1.25;display:flex;justify-content:space-between;gap:24px}
.lv-faq-item summary::-webkit-details-marker{display:none}
.lv-faq-item summary::after{content:"+";font-size:26px;line-height:1;flex:none;transition:transform .25s}
.lv-faq-item[open] summary::after{transform:rotate(45deg)}
.lv-faq-item p{margin-top:14px}
