@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&display=swap');
:root{--wine:#350d17;--wine2:#4a151f;--gold:#d8b579;--brown:#5b382b;--cream:#f6f0e7;--paper:#fffaf2;--ink:#432e27}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:var(--cream)}a{color:inherit}button,input{font:inherit}.top{height:100px;background:var(--wine);position:sticky;top:0;z-index:20;box-shadow:0 4px 22px #230a0e30}.top-inner{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 36px}.brand{display:inline-flex;align-items:center;gap:14px;flex-shrink:0;text-decoration:none}.brand-monogram{font-family:Georgia,serif;font-size:76px;line-height:.95;font-weight:400;letter-spacing:-4px;color:var(--gold)}.brand-wordmark{display:flex;flex-direction:column;justify-content:center;gap:6px;border-left:1px solid #92666a;padding-left:14px}.brand-name{font-family:Georgia,serif;font-size:23px;letter-spacing:.4px;white-space:nowrap;color:#fff6e9}.brand-subtitle{font-size:9px;letter-spacing:1.65px;white-space:nowrap;color:#e1cfbe}.nav{display:flex;align-items:center;gap:30px}.nav>a{text-decoration:none;color:#f8e8d8;text-transform:uppercase;font-size:12px;letter-spacing:1.2px}.nav>a:hover{color:var(--gold)}.nav .nav-access{border-radius:100px;background:var(--gold);color:#38131b;padding:13px 21px;font-weight:700}.menu-toggle{display:none;color:var(--gold);background:none;border:0;font-size:27px;cursor:pointer}.hero{position:relative;min-height:640px;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background:linear-gradient(135deg,#37200f,#775439);background-image:url('https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=2200&q=85');background-size:cover;background-position:center}.hero-shade{background:linear-gradient(90deg,rgba(26,11,10,.84),rgba(30,12,9,.35) 67%,rgba(24,12,10,.18))}.hero-inner{position:relative;width:min(1200px,90%);margin:auto}.eyebrow,.kicker{font-size:11px;letter-spacing:3px;font-weight:700;color:var(--gold)}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(55px,6.5vw,104px);line-height:1.08;letter-spacing:-2px;margin:20px 0}h1 em,h2 em{font-weight:400}.gold-line{width:115px;border-top:2px solid var(--gold);margin:25px 0}.hero-inner>p:not(.eyebrow){font-size:17px;max-width:460px;line-height:1.75}.gold-button{display:inline-flex;gap:32px;align-items:center;background:var(--gold);text-decoration:none;color:#2d1417;font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:700;padding:17px 26px;border-radius:3px;margin-top:20px}.section{padding:100px 24px}.section-wrap{max-width:1200px;margin:0 auto}.about{background:#f7f1e8}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.about h2,.events h2,.testimonials h2,.contact h2{font-size:clamp(38px,4.5vw,62px);line-height:1.18;margin:18px 0 25px;color:var(--wine)}.about p,.events p,.contact p{line-height:1.85;font-size:15px}.about-image{height:490px;display:grid;place-items:center;text-align:center;color:#f5e4cc;letter-spacing:2px;background:linear-gradient(145deg,#3b1823,#8b6c62)}.about-image small,.photo-placeholder small{letter-spacing:1px}.draft{font-size:12px!important;color:#8a715f;font-style:italic}.partners{padding-top:100px}.center-heading{text-align:center}.partner-grid{max-width:840px;display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:40px auto}.partner{background:#fffbf6;text-align:center;padding-bottom:20px}.partner h3{font-size:25px;margin:17px 0 4px}.partner p{margin:0;color:#7a6c65}.photo-placeholder{height:330px;background:linear-gradient(125deg,#d5c4b5,#9f8576);display:grid;place-content:center;text-align:center;letter-spacing:2px;color:#fff}.center{text-align:center}.events{background:#ece2d5}.split-heading{display:flex;justify-content:space-between;align-items:end;gap:36px}.split-heading>p{max-width:340px}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.event-tile{margin:0;background:var(--wine);color:white}.tile-photo{height:310px;background-position:center;background-size:cover;background-color:#604030}.wedding .tile-photo{background-image:url('https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=900&q=80')}.corporate .tile-photo{background-image:url('https://images.unsplash.com/photo-1511795409834-ef04bbd61622?auto=format&fit=crop&w=900&q=80')}.social .tile-photo{background-image:url('https://images.unsplash.com/photo-1464366400600-7168b8af9bc3?auto=format&fit=crop&w=900&q=80')}.event-tile figcaption{font-family:'Playfair Display';font-size:25px;padding:20px}.event-tile small{display:block;font-family:'DM Sans';font-size:10px;letter-spacing:1px;opacity:.7;margin-top:5px}.testimonials{text-align:center}.testimonial-placeholder{max-width:750px;margin:35px auto 0;border:1px solid #d8c7b5;padding:45px 55px;background:#fffaf4}.quote-mark{font-family:Georgia;font-size:67px;color:#aa8759;line-height:1}.testimonial-placeholder p{font-family:'Playfair Display';font-size:27px}.testimonial-placeholder small{color:#806d5f}.contact{background:var(--wine);color:#f9ede1}.contact h2{color:#fff}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.contact-info{border-left:1px solid #8a5b5e;padding-left:70px}.contact-info h3{font-size:32px}.contact-info p{margin:25px 0}.contact-info strong{display:block;color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-size:11px}.contact-info a{display:block;text-decoration:none}.footer{background:#f6f0e7;color:var(--wine);padding:40px 20px;text-align:center}.footer-inner{display:flex;justify-content:center;align-items:center}.footer-logo{display:inline-flex;align-items:center;justify-content:center;background:#350d17;padding:12px 24px;min-height:120px}.footer-logo img{width:190px;max-width:100%;height:auto;display:block}.footer-inner img{width:175px}.footer p{font-size:12px}.footer small{font-size:11px;color:#a99b92}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:30;background:#2e7850;color:white;padding:13px 19px;border-radius:100px;font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 6px 25px #0005}.portal-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at top,#fff6e9,#e9ddd0);padding:25px}.portal-shell{width:min(500px,100%);background:var(--paper);box-shadow:0 20px 70px #4b302c26;border-radius:8px;overflow:hidden}.portal-header{display:block;text-align:center;background:var(--wine);padding:20px}.portal-header img{width:200px;display:block;margin:auto}.portal-content{text-align:center;padding:32px 55px 35px}.portal-content h1{font-size:40px;color:var(--brown);letter-spacing:0;margin:0 0 8px}.portal-content>p{font-size:13px}.portal-content form{text-align:left;margin:28px auto}.portal-content form>label:not(.remember){display:block;font-size:12px;margin:14px 0 5px;color:#6b4d42}.portal-content input:not([type=checkbox]){width:100%;padding:14px 15px;border:1px solid #dccdc2;border-radius:5px;background:white;outline-color:#bd9c68}.password-wrap{display:flex;position:relative}.password-wrap button{border:0;background:transparent;color:#71594e;position:absolute;right:6px;top:7px;padding:8px;cursor:pointer;font-size:12px}.password-wrap input{padding-right:85px!important}.remember{display:flex;align-items:center;gap:9px;margin:18px 0;font-size:12px}.remember input{accent-color:var(--wine)}.submit-access{width:100%;cursor:pointer;border:0;background:var(--wine);color:white;padding:16px;border-radius:7px;text-transform:uppercase;letter-spacing:2px}.login-message{background:#f5e4d6;color:#623221;border:1px solid #e3c2ab;padding:12px;font-size:12px;line-height:1.6}.portal-footnote{border-top:1px solid #e5d8c9;padding-top:20px;line-height:1.5;color:#6e6058}.return-link{font-size:12px;color:var(--wine)}@media(max-width:800px){.top{height:78px}.top-inner{padding:0 17px}.brand{gap:10px}.brand-monogram{font-size:57px;letter-spacing:-3px}.brand-wordmark{gap:5px;padding-left:10px}.brand-name{font-size:18px}.brand-subtitle{font-size:7px;letter-spacing:1px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:78px;background:var(--wine);padding:20px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:15px 10px}.nav .nav-access{margin-top:8px;text-align:center}.hero{min-height:560px}.hero-inner{width:87%}.hero h1{font-size:clamp(45px,10vw,70px)}.section{padding:65px 20px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.about-image{height:280px}.partners{padding-top:70px}.contact-info{border-left:0;border-top:1px solid #8a5b5e;padding:28px 0 0}.event-grid{grid-template-columns:1fr}.split-heading{display:block}.tile-photo{height:290px}}@media(max-width:520px){.hero{min-height:520px}.hero-inner>p:not(.eyebrow){font-size:14px}.hero h1{font-size:48px}.eyebrow{font-size:9px;letter-spacing:2px}.partner-grid{grid-template-columns:1fr;max-width:350px}.photo-placeholder{height:290px}.portal-content{padding:25px 22px}.portal-content h1{font-size:33px}.floating-whatsapp{right:12px;bottom:12px}}

@media(max-width:370px){.brand{gap:8px}.brand-monogram{font-size:49px;letter-spacing:-3px}.brand-wordmark{padding-left:8px;gap:4px}.brand-name{font-size:16px}.brand-subtitle{font-size:6px;letter-spacing:.75px}.top-inner{padding:0 12px}}

/* Links oficiais de redes sociais — contato e rodapé */
.social-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.social-link{width:43px;height:43px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8b57980;border-radius:50%;color:var(--gold);background:transparent;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.social-link svg{width:21px;height:21px;display:block}.social-link:hover,.social-link:focus-visible{background:var(--gold);color:var(--wine);border-color:var(--gold);transform:translateY(-2px)}.social-link:focus-visible{outline:2px solid #fff;outline-offset:3px}.social-contact{margin-top:28px}.social-contact>strong{display:block;margin-bottom:13px;color:var(--gold);letter-spacing:2px;font-size:11px}.footer .social-links{justify-content:center;margin:20px 0}.footer .social-link{width:40px;height:40px}.footer .social-link svg{width:20px;height:20px}

.debutante .tile-photo{background-image:url('https://images.unsplash.com/photo-1530103862676-de8c9debad1d?auto=format&fit=crop&w=1100&q=82')}.event-grid .tile-photo{height:340px}.event-grid .event-tile figcaption{font-size:27px}@media(min-width:1050px){.event-grid .tile-photo{height:380px}}@media(max-width:800px){.event-grid{grid-template-columns:1fr}.event-grid .tile-photo{height:310px}}

/* Redes sociais entre a marca e a navegacao */
.top-inner{gap:22px}.header-social{display:flex;align-items:center;justify-content:center;flex:1;min-width:115px}.header-social .social-links{gap:9px;justify-content:center;flex-wrap:nowrap}.header-social .social-link{width:36px;height:36px;flex-shrink:0}.header-social .social-link svg{width:18px;height:18px}@media(max-width:1100px) and (min-width:801px){.top-inner{gap:12px;padding:0 22px}.nav{gap:14px}.header-social .social-links{gap:5px}.header-social .social-link{width:31px;height:31px}.brand-monogram{font-size:64px}.brand-name{font-size:20px}.brand-subtitle{font-size:8px;letter-spacing:1px}}@media(max-width:800px){.header-social{flex:0 0 auto;margin-left:auto;min-width:0}.top-inner{gap:9px}.header-social .social-links{gap:5px}.header-social .social-link{width:29px;height:29px}.header-social .social-link svg{width:16px;height:16px}}@media(max-width:440px){.header-social .social-link{width:25px;height:25px}.header-social .social-link svg{width:14px;height:14px}.header-social .social-links{gap:3px}.brand-monogram{font-size:46px}.brand-name{font-size:15px}.brand-subtitle{font-size:6px;letter-spacing:.5px}.brand-wordmark{padding-left:7px}.top-inner{padding:0 9px;gap:5px}.menu-toggle{font-size:23px}}

/* Galerias de eventos em movimento */
.event-card-link{display:block;text-decoration:none;color:inherit}.event-card-link:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.event-card-link:hover .event-tile figcaption{color:var(--gold)}.event-slideshow{position:relative;overflow:hidden;background-color:#4b302b}.event-slideshow .slide{position:absolute;inset:0;display:block;background-position:center;background-size:cover;opacity:0;transform:scale(1.055);transition:opacity 1.25s ease,transform 5s ease}.event-slideshow .slide.is-active{opacity:1;transform:scale(1)}.wedding-intro{background:var(--wine);color:#fff5e8;padding:75px 24px 65px}.wedding-intro .section-wrap{max-width:1150px}.wedding-intro h1{font-size:clamp(40px,5.8vw,74px);max-width:900px;margin:22px 0}.wedding-intro p{font-size:16px;line-height:1.7;max-width:650px}.back-link{display:inline-block;color:var(--gold);font-size:13px;margin-bottom:30px;text-decoration:none}.wedding-categories{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.wedding-categories a{color:var(--gold);border:1px solid #d8b5797d;border-radius:80px;padding:11px 17px;font-size:13px;text-decoration:none}.wedding-categories a:hover{background:var(--gold);color:var(--wine)}.wedding-galleries{background:var(--cream)}.wedding-gallery{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);min-height:390px;margin:0 0 30px;background:#fffbf6;box-shadow:0 8px 28px #32161814;scroll-margin-top:120px}.wedding-gallery:nth-child(even) .wedding-gallery-photo{order:2}.wedding-gallery-photo{min-height:390px}.wedding-gallery-copy{display:flex;flex-direction:column;justify-content:center;padding:42px 48px}.wedding-gallery-copy h2{font-size:clamp(37px,4vw,53px);color:var(--wine);margin:15px 0}.wedding-gallery-copy p{line-height:1.8}.wedding-gallery-copy small{font-size:12px;color:#90796e}.gallery-end{text-align:center;margin-top:40px}@media(max-width:800px){.wedding-intro{padding:45px 20px}.wedding-gallery{grid-template-columns:1fr}.wedding-gallery:nth-child(even) .wedding-gallery-photo{order:0}.wedding-gallery-photo{min-height:300px}.wedding-gallery-copy{padding:30px}.wedding-categories{gap:8px}.wedding-categories a{font-size:12px;padding:10px 13px}}@media(prefers-reduced-motion:reduce){.event-slideshow .slide{transform:none!important;transition:none!important}}

/* Corrige regra geral de links em Contato que desalinhava os icones */
.contact-info .social-links{display:flex;align-items:center;gap:12px;flex-wrap:nowrap}.contact-info .social-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 43px;width:43px;height:43px;padding:0;line-height:1;box-sizing:border-box}.contact-info .social-link svg{display:block;width:21px;height:21px;flex:none;margin:0}

/* Acesso ao portal sempre visivel no celular, sem sacrificar o logo ou redes sociais */
.mobile-portal-access{display:none}@media(max-width:800px){.top{height:auto}.top-inner{height:78px}.mobile-portal-access{display:block;position:relative;text-align:center;background:var(--gold);color:var(--wine);font-size:12px;font-weight:700;letter-spacing:1.6px;text-decoration:none;padding:12px 16px}.mobile-portal-access:focus-visible{outline:3px solid var(--wine);outline-offset:-4px}.nav .nav-access{display:none}.top{box-shadow:0 4px 16px #230a0e30}}

/* Mantem 'sonhos em realidade.' em uma unica linha, inclusive no celular */
.hero .hero-second-line{display:inline-block;white-space:nowrap;font-size:.69em;letter-spacing:-.025em}@media(max-width:520px){.hero .hero-second-line{font-size:clamp(27px,6.7vw,39px);letter-spacing:-.04em}}

/* Apenas 'em realidade.' em italico; 'sonhos' na mesma linha com fonte normal */
.hero .hero-second-line{display:inline-block;white-space:nowrap;font-size:.69em;letter-spacing:-.025em}.hero .hero-second-line em{font-style:italic;font-weight:400}@media(max-width:520px){.hero .hero-second-line{font-size:clamp(27px,6.7vw,39px);letter-spacing:-.04em}}

/* Titulo principal: sonhos com mesmo tamanho de Transformamos; apenas em realidade em caligrafia menor */
.hero h1 .hero-second-line{font-size:1em;letter-spacing:inherit;white-space:nowrap;display:inline-block}.hero h1 .hero-second-line em{font-size:.56em;font-style:italic;letter-spacing:-.035em}@media(max-width:520px){.hero h1 .hero-second-line{font-size:1em;letter-spacing:-.045em}.hero h1 .hero-second-line em{font-size:.48em;letter-spacing:-.055em}}

/* Ajuste proporcional da caligrafia 'em realidade.' */
.hero h1 .hero-second-line em{font-size:.72em}@media(max-width:520px){.hero h1 .hero-second-line em{font-size:.59em}}

/* Equilibrio visual do titulo: duas linhas proporcionais no celular */
.hero h1{font-size:clamp(42px,5.3vw,78px);letter-spacing:-.035em}.hero h1 .hero-second-line{font-size:1em;white-space:nowrap;letter-spacing:-.035em}.hero h1 .hero-second-line em{font-size:.76em;letter-spacing:-.045em}@media(max-width:800px){.hero h1{font-size:clamp(42px,7vw,64px)}}@media(max-width:520px){.hero h1{font-size:clamp(39px,9vw,48px);letter-spacing:-.045em}.hero h1 .hero-second-line{font-size:1em;letter-spacing:-.05em}.hero h1 .hero-second-line em{font-size:.70em;letter-spacing:-.055em}}

/* Teste: destacar a palavra sonhos no titulo principal sem alterar Transformando */
.hero h1 .hero-second-line{font-size:1.18em;letter-spacing:-.045em}.hero h1 .hero-second-line em{font-size:.64em;letter-spacing:-.04em}@media(max-width:520px){.hero h1 .hero-second-line{font-size:1.18em;letter-spacing:-.055em}.hero h1 .hero-second-line em{font-size:.57em;letter-spacing:-.055em}}

/* Titulo de abertura: sonhos e Transformando do mesmo tamanho; caligrafia em realidade maior */
.hero h1 .hero-second-line{font-size:1em;letter-spacing:-.045em;white-space:nowrap}.hero h1 .hero-second-line em{font-size:.90em;letter-spacing:-.06em}@media(max-width:520px){.hero h1 .hero-second-line{font-size:1em;letter-spacing:-.055em}.hero h1 .hero-second-line em{font-size:.77em;letter-spacing:-.07em}}

/* Título: ampliar a caligrafia de 'em realidade.' e permitir leve extensão visual */
.hero h1 .hero-second-line em{font-size:1.08em;letter-spacing:-.065em}@media(max-width:520px){.hero h1 .hero-second-line em{font-size:.90em;letter-spacing:-.075em}}

/* Destaque maior e visivel para a caligrafia em realidade */
.hero h1 .hero-second-line em{font-size:1.22em;letter-spacing:-.07em}@media(max-width:520px){.hero h1 .hero-second-line em{font-size:1.02em;letter-spacing:-.08em}}
