*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--brand-background);color:var(--brand-text);font:400 15px/1.8 var(--font-body)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a:hover{color:#fff}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid white;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-heading);font-weight:300;color:var(--brand-primary)}h1{font-size:clamp(40px,4.6vw,66px);line-height:1.1;letter-spacing:-2px;text-transform:uppercase;max-width:650px}h2{font-size:clamp(29px,3.1vw,42px);line-height:1.22;letter-spacing:-1px}h3{font-size:23px;line-height:1.4}.wrap{width:min(var(--content-width),calc(100% - 96px));margin-inline:auto}.header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff19}.header img,.footer img{object-fit:contain;max-width:100%;height:65px;width:225px}.header nav{display:flex;gap:38px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.header nav a{padding-block:15px}.header nav span{margin-left:13px}.eyebrow{font-family:var(--font-heading);font-size:10px;font-weight:500;letter-spacing:2px;line-height:1.8;text-transform:uppercase}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:650px;padding-block:48px;gap:50px}.hero-copy{padding-top:42px;display:flex;align-items:flex-start;flex-direction:column}.hero h1{margin:28px 0}.intro{max-width:470px;font-size:15px;line-height:1.9}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;min-height:54px;padding:16px 23px;border:1px solid var(--brand-primary);border-radius:var(--radius);font-family:var(--font-heading);font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;transition:background .2s,color .2s}.button span:last-child:not(:first-child){font-size:18px;line-height:1}.primary{background:#fff;color:#303030}.primary:hover{background:#ddd;color:#222}.outline{background:transparent;color:#fff}.outline:hover{background:#fff;color:#303030}.hero .button{margin-top:30px}.hero-foot{display:flex;width:100%;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1.4px;margin-top:auto;padding-top:40px;color:var(--brand-muted)}.hero-image{min-height:550px}.placeholder{background:#393939;border:1px solid #ffffff15;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;width:100%;overflow:hidden;color:#b7b7b7}.placeholder::before{content:'';position:absolute;inset:20px;border:1px solid #ffffff14;pointer-events:none}.placeholder-label{font-family:var(--font-heading);font-size:11px;letter-spacing:2px;text-align:center}.placeholder small{font-size:9px;letter-spacing:1px;margin-top:10px;color:#b7b7b7}.photo-corner{position:absolute;bottom:32px;left:33px;font-size:9px;letter-spacing:1.5px}.media-photo{width:100%;height:100%;object-fit:cover;display:block}.signature{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;padding-block:22px;font-size:11px}.signature a{font-size:10px;letter-spacing:.6px}.signature a span{margin-left:25px}.section{padding-block:100px}.section-heading{margin-bottom:44px}.split{display:grid;grid-template-columns:1fr 2fr;gap:50px}.split .eyebrow{padding-top:10px}.section-heading p:not(.eyebrow){margin-top:20px;max-width:590px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:56px}.step{padding-top:26px;border-top:1px solid var(--brand-border)}.step-number{font-family:var(--font-heading);font-size:11px;display:block;margin-bottom:25px}.step h3{font-size:21px;margin-bottom:12px}.step p{font-size:13px}.types-section,.portfolio-section{background:var(--brand-deep)}.types{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 22px}.type-card{margin:0}.type-card .media{height:300px}.type-card:nth-child(3n+2) .placeholder{background:#343434}.type-card figcaption{display:flex;justify-content:space-between;align-items:center;padding-top:12px;font-family:var(--font-heading);font-size:13px}.type-card figcaption span{font-size:10px;color:var(--brand-muted)}.centered{text-align:center;max-width:680px;margin-inline:auto;margin-bottom:48px}.centered h2{margin-top:16px}.centered p:not(.eyebrow){margin-inline:auto}.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.package{border:1px solid var(--brand-border);padding:30px 27px;display:flex;flex-direction:column;min-width:0}.package-index{font-size:10px;letter-spacing:1.5px;display:flex;justify-content:space-between;margin-bottom:22px}.package h3{text-transform:uppercase;font-size:27px}.package-description{font-size:13px;min-height:74px;margin-top:13px}.price{font-family:var(--font-heading);font-size:35px;font-weight:300;color:white;line-height:1.3;margin-top:24px}.price-label{font-size:10px;margin-bottom:28px}.package ul{list-style:none;padding:24px 0 0;border-top:1px solid #ffffff22;margin:0;font-size:12px}.package li{position:relative;padding-left:19px;margin-bottom:13px}.package li:before{content:'✓';position:absolute;left:0;color:#ddd}.bonus-title{font-size:10px;letter-spacing:1.4px;margin-top:14px}.package .bonus{border:0;padding-top:12px}.package .package-bottom{margin-top:auto;padding-top:22px}.package-bottom .small{font-size:10px;margin-bottom:16px}.package .button{width:100%;font-size:10px;padding-inline:16px;gap:8px}.package-note{font-size:11px;text-align:center;max-width:760px;margin:28px auto 0}.carousel-controls{display:none}.form-section{background:var(--brand-deep);border-top:1px solid var(--brand-border);border-bottom:1px solid var(--brand-border)}.form-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:70px}.form-layout aside h2{margin:18px 0}.form-layout aside>p:not(.eyebrow){font-size:13px}.selection{margin-block:30px;padding:24px 0;border-top:1px solid var(--brand-border);border-bottom:1px solid var(--brand-border);font-size:14px}.text-button{background:transparent;padding:10px 0;border:0;color:#fff;font-size:12px;text-decoration:underline;text-underline-offset:5px}.small{font-size:12px;color:var(--brand-muted)}fieldset{border:0;margin:0 0 30px;padding:0;min-width:0}legend{font:500 11px var(--font-heading);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:20px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px}.field.wide{grid-column:1/-1}input,select,textarea{width:100%;min-width:0;border:1px solid #747474;border-radius:2px;padding:12px;background:#303030;color:#fff;min-height:48px;font-size:16px}input[readonly]{color:#ccc;background:#353535}textarea{resize:vertical;min-height:100px}.consent{display:flex;align-items:flex-start;gap:13px;font-size:12px}.consent input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin-top:3px;accent-color:#fff}#privacy-link{margin:15px 0}#privacy-link a{text-decoration:underline}.submit{width:100%;margin-top:24px;margin-bottom:12px}.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#form-error{border:1px solid #aaa;padding:18px;margin-top:18px;font-size:13px}#form-error a{text-decoration:underline}.confirmation{text-align:center;max-width:840px}.confirmation h2{margin:18px 0}.confirmation .button{margin-top:25px}.payment-box{border:1px solid var(--brand-border);padding:30px;margin-top:30px;text-align:left}.payment-box h3{margin-bottom:18px}.payment-box dl{display:grid;grid-template-columns:1fr 2fr;gap:10px;font-size:13px}.payment-box dd{margin:0;overflow-wrap:anywhere}.qr{width:220px;height:220px;object-fit:contain;background:white;padding:12px;display:block;margin:20px auto}.payment-pending{margin-top:30px;padding:25px;background:var(--brand-surface)}.portfolio{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.gallery-item{background:transparent;border:0;padding:0;height:380px;color:inherit;text-align:inherit}.gallery-item:nth-child(3n+1){height:470px}.gallery-item:nth-child(4){margin-top:-90px}.photo-note{margin-top:22px;text-align:right;font-size:10px}.about{display:grid;grid-template-columns:.9fr 1fr;gap:90px;align-items:center}.about>#about-image{height:500px}.about h2{margin:20px 0 26px}.about p:not(.eyebrow){font-size:14px}.photographer{margin-top:25px;color:#fff}.photographer span{display:block;font-size:9px;letter-spacing:2px;margin-top:5px}.text-link{display:inline-flex;gap:30px;border-bottom:1px solid var(--brand-border);padding-block:14px;margin-top:20px;font-size:12px}.footer{background:var(--brand-deep);padding:48px 0 92px}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:center}.footer-top p{font-size:11px;margin-top:14px}.footer-links{display:flex;flex-direction:column;gap:10px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff20;margin-top:40px;padding-top:22px;font-size:10px}.whatsapp{position:fixed;z-index:5;right:24px;bottom:24px;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;background:#eee;color:#303030;border:1px solid #ccc;border-radius:30px;box-shadow:0 3px 18px #0003;font-size:12px}.whatsapp:hover{color:#303030;background:white}body.focus-flow .whatsapp{visibility:hidden}.skip{position:fixed;top:-100px;left:10px;z-index:20;background:#fff;color:#303030;padding:10px}.skip:focus{top:10px}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;color:#fff;background:transparent;border:1px solid #737373;font-size:20px;border-radius:50%}dialog{background:#272727;color:#ccc;border:1px solid #777;max-width:min(1000px,94vw);width:100%;padding:60px 24px 24px;max-height:92vh}dialog::backdrop{background:#000c}#close-lightbox{position:absolute;right:12px;top:10px}#lightbox-content{height:min(65vh,680px)}#lightbox-content img{object-fit:contain}#lightbox-caption{font-size:12px;text-align:center;margin:14px}.lightbox-nav{display:flex;justify-content:center;gap:16px}
@media(min-width:1600px){.hero{min-height:720px}.hero-image{min-height:610px}.hero-copy{padding-top:65px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:30px;min-height:600px}.hero-image{min-height:490px}.hero-copy{padding-top:24px}h1{font-size:47px}.package{padding:24px 18px}.package-description{min-height:94px}.about{gap:45px}.form-layout{gap:35px}.hero-foot{font-size:7px}.type-card .media{height:250px}}
@media(max-width:767px){.wrap{width:calc(100% - 40px)}.header{height:90px}.header img{width:180px;height:60px}.header nav{gap:0;font-size:9px;letter-spacing:1px}.header nav a:first-child{display:none}.hero{display:flex;flex-direction:column;gap:28px;padding-top:28px;padding-bottom:25px}.hero-copy{padding-top:0}.hero .eyebrow{font-size:8px;letter-spacing:1.4px}.hero h1{font-size:43px;letter-spacing:-1.8px;margin:23px 0 20px;max-width:440px}.intro{font-size:13px;line-height:1.85}.hero .button{margin-top:25px;min-width:230px}.hero-foot{display:none}.hero-image{height:350px;min-height:0}.signature{font-size:10px;line-height:1.7;padding:19px 0}.signature>span{max-width:205px}.signature a{font-size:0}.signature a span{font-size:19px;margin-left:0}.section{padding-block:65px}.split{grid-template-columns:1fr;gap:18px}.section-heading{margin-bottom:30px}.split .eyebrow{padding:0}.section-heading p:not(.eyebrow){font-size:13px;margin-top:16px}.steps{grid-template-columns:1fr;gap:24px;margin-top:32px}.step{display:grid;grid-template-columns:35px 1fr;padding-top:20px;gap:0 12px}.step-number{grid-row:1/3;margin:5px 0 0}.step h3{font-size:19px;margin-bottom:9px}.step p{grid-column:2}.types{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.type-card .media{height:218px}.type-card figcaption{font-size:10px;align-items:flex-start;gap:6px}.type-card figcaption span{font-size:8px;padding-top:2px}.placeholder::before{inset:12px}.placeholder-label{font-size:9px;letter-spacing:1px;padding:16px}.placeholder small{font-size:8px;margin-top:0}.photo-corner{left:23px;bottom:24px;font-size:8px}.centered{text-align:left}.packages{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:14px;padding:1px 2px 12px;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}.packages::-webkit-scrollbar{display:none}.package{flex:0 0 80%;scroll-snap-align:start;padding:28px 20px}.package-description{min-height:72px}.package h3{font-size:26px}.package ul{font-size:12px}.package .button{font-size:10px}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:18px}.dots{display:flex;gap:0}.dot{width:30px;height:44px;background:transparent;border:0;padding:10px;display:grid;place-items:center}.dot:after{content:'';width:5px;height:5px;border-radius:50%;background:#777}.dot[aria-current=true]:after{background:#fff}.package-note{font-size:10px;text-align:left}.form-layout{grid-template-columns:1fr;gap:30px}.field-grid{gap:18px 12px}.field{font-size:11px}.field.mobile-wide{grid-column:1/-1}.form-layout aside h2{max-width:350px}.portfolio{gap:14px;grid-template-columns:1fr 1fr}.gallery-item{height:220px}.gallery-item:nth-child(3n+1){height:280px}.gallery-item:nth-child(4){margin-top:-60px}.photo-note{text-align:left}.about{grid-template-columns:1fr;gap:35px}.about>#about-image{height:370px}.about h2{margin-top:16px}.footer-top{align-items:flex-start;flex-direction:column;gap:28px}.footer-bottom{flex-direction:column;gap:8px}.whatsapp{width:48px;height:48px;padding:0;right:14px;bottom:14px}.whatsapp span{display:none}.footer{padding-bottom:90px}.payment-box{padding:20px}.payment-box dl{grid-template-columns:1fr}.payment-box dd{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:767px){.packages{cursor:grab}.packages.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none;scroll-behavior:auto}}

/* Possibilidades: mosaico de fotografias, como a galeria da marca. */
.types{display:block;columns:3;column-gap:8px}
.possibility-photo{display:block;width:100%;padding:0;margin:0 0 8px;border:0;background:var(--brand-surface);color:inherit;break-inside:avoid;overflow:hidden;cursor:zoom-in}
.possibility-photo .placeholder{height:100%}
.possibility-photo .media-photo{height:100%;width:100%;object-fit:cover}
.possibility-categories{margin-top:22px;font-size:12px;line-height:2;color:var(--brand-muted)}
@media(max-width:767px){
 .types{columns:2;column-gap:4px;margin-inline:-16px}
 .possibility-photo{margin-bottom:4px}
 .possibility-photo .placeholder::before{inset:8px}
 .possibility-photo .placeholder-label{padding:8px;font-size:9px}
 .possibility-photo .placeholder small{font-size:7px}
 .possibility-categories{font-size:10px;margin-top:18px}
}

/* Galeria com largura total e proporção original das 54 fotografias. */
.types{width:calc(100% - 8px);margin-inline:auto;columns:5;column-gap:4px}
.possibility-photo{margin-bottom:4px}
.possibility-photo .fade-photo{opacity:0;transition:opacity .55s ease}
.possibility-photo .fade-photo.is-loaded{opacity:1}
@media(max-width:1099px){.types{columns:4}}
@media(max-width:767px){.types{columns:2;width:calc(100% - 8px);margin-inline:auto}}
@media(prefers-reduced-motion:reduce){.possibility-photo .fade-photo{transition:none}}

/* Grupos sucessivos mantêm as fotos de encerramento abaixo da seleção principal. */
.types{columns:auto}
.gallery-group{columns:5;column-gap:4px}
.gallery-group:empty{display:none}
@media(max-width:1099px){.gallery-group{columns:4}}
@media(max-width:767px){.gallery-group{columns:2}}

/* Fotografias dos pacotes: tratamento visual uniforme e texto em fundo sólido. */
.package{--card-padding-x:27px;--card-padding-y:30px;background:var(--brand-background)}
.package-cover{position:relative;flex-shrink:0;height:230px;margin:calc(-1 * var(--card-padding-y)) calc(-1 * var(--card-padding-x)) 24px;overflow:hidden}
.package-cover .media-photo{filter:none;object-fit:cover;pointer-events:none}
.package-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 48%,rgba(48,48,48,.25) 70%,var(--brand-background) 100%);pointer-events:none}
@media(max-width:1100px){.package{--card-padding-x:18px;--card-padding-y:24px}.package-cover{height:200px}}
@media(max-width:767px){.package{--card-padding-x:20px;--card-padding-y:28px}.package-cover{height:200px;margin-bottom:18px}}

/* Largura fechada em cada linha, sem recortar as fotografias do mosaico. */
.types{display:flex;flex-direction:column;gap:4px;columns:auto}
.gallery-row{display:flex;gap:4px;width:100%;min-width:0}
.gallery-row .possibility-photo{width:0;min-width:0;height:100%;margin:0;aspect-ratio:auto!important}
.hero-image{position:relative;overflow:hidden}
.hero-image>.media-photo,.hero-image>picture{position:absolute;inset:0;width:100%;height:100%}

.possibility-categories{margin:32px auto 0;text-align:center;font-family:var(--font-heading);font-size:15px;font-weight:400;line-height:2;letter-spacing:.3px;color:var(--brand-text)}
.possibility-categories span{display:block;white-space:nowrap}
@media(max-width:767px){.possibility-categories{width:calc(100% - 24px);margin-top:24px;font-size:clamp(9px,2.55vw,13px);line-height:2.2;letter-spacing:0}}

.package .button{background:var(--package-cta-background);border-color:var(--package-cta-background);color:var(--package-cta-text);font-weight:600}
.package .button:hover:not(:disabled){background:var(--package-cta-hover);border-color:var(--package-cta-hover);color:var(--package-cta-text)}

.footer-top{flex-direction:column;align-items:center;text-align:center;gap:16px}
.footer-top .footer-whatsapp{font-size:14px}
.footer-top>p{margin:0;font-size:12px}
.footer-links{align-items:center;gap:10px;margin-top:12px}
.footer-bottom{justify-content:center;align-items:center;text-align:center;flex-wrap:wrap}

.booking-terms{padding:18px 0;margin-bottom:18px;border-top:1px solid var(--brand-border);font-size:11px;line-height:1.65}
.booking-terms p+p{margin-top:9px}
.booking-terms .booking-terms-title{font-size:12px;font-weight:600;color:var(--brand-primary)}

.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.video-thumbnail{display:block;width:100%;aspect-ratio:1;position:relative;padding:0;border:1px solid #ffffff20;background:var(--brand-background);overflow:hidden;color:white}
.video-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.video-thumbnail::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#0009)}
.video-thumbnail:hover img{transform:scale(1.025)}
.video-play{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;display:grid;place-items:center;border:1px solid #fff9;border-radius:50%;background:#202020b8;font-size:19px;padding-left:3px}
.video-kind{position:absolute;z-index:1;left:16px;bottom:13px;font:500 10px var(--font-heading);letter-spacing:1.5px;text-transform:uppercase}
.video-card h3{font-size:16px;margin-top:15px}
#video-dialog{width:min(760px,calc(100vw - 24px));padding:58px 20px 20px;max-height:94dvh}
#video-title{font-size:20px;margin-bottom:16px;text-align:center}
.video-close{position:absolute;top:10px;right:12px}
#video-player{display:block;max-width:100%;width:100%;height:72dvh;object-fit:contain;background:#111}
body.video-open{overflow:hidden}body.video-open .whatsapp{visibility:hidden}
@media(max-width:900px){.video-grid{gap:24px 14px}}
@media(max-width:600px){.video-grid{grid-template-columns:minmax(0,1fr);max-width:420px;margin-inline:auto;gap:28px}}
@media(max-width:767px){.video-card h3{font-size:13px;line-height:1.5;margin-top:10px}.video-play{width:44px;height:44px;font-size:16px}.video-kind{left:10px;bottom:10px;font-size:8px;letter-spacing:1px}#video-dialog{padding:58px 10px 14px}#video-player{height:68dvh}}

.instagram-section{padding-bottom:0;background:var(--brand-deep)}
.instagram-section .centered{text-align:center}
 .instagram-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}
.instagram-grid a{display:block;aspect-ratio:1;overflow:hidden;background:#393939;min-width:0}
.instagram-grid img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .6s}
.instagram-grid img.loaded{opacity:1}
@media(max-width:767px){.instagram-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}}
@media(prefers-reduced-motion:reduce){.instagram-grid img{transition:none}}

/* Cabeçalho persistente, preservando o espaço original e a largura do conteúdo. */
html{scroll-padding-top:132px}
.header{position:sticky;top:0;z-index:10;background:var(--brand-background)}
.header::before{content:'';position:absolute;inset:0 calc((100% - 100vw)/2);background:var(--brand-background);border-bottom:1px solid #ffffff19;z-index:-1;pointer-events:none}
@media(max-width:767px){html{scroll-padding-top:110px}}

/* Textos do rodapé empilhados, sem espaço extra entre linhas. */
.footer-top{gap:0}
.footer-top>img{margin-bottom:16px}
.footer-top .footer-whatsapp,.footer-top>p,.footer-links{line-height:1.35}
.footer-links{gap:0;margin-top:0}
.footer-bottom{flex-direction:column;gap:0;line-height:1.35}
