/* ======================
   RESET GLOBAL
   ====================== */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Inter', sans-serif;
    background:#ffffff;
    color:#3b2f26;
    overflow-y:auto;
}

/* ======================
   BLOQUEIO POR SENHA
   ====================== */
.erro {
color: red;
}

.lock-screen{
    position:fixed;
    inset:0;
    background:#f6dcc1;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:9999;
}

.lock-box{
    background:#fff;
    padding:40px 25px;
    border-radius:24px;
    text-align:center;
    box-shadow:0 30px 80px rgba(0,0,0,.15);
    width:100%;
    max-width:420px;
}

.logo-lock{
    width:280px;
    scale:1.2;
}

.lock-box h2{
    font-family:'Playfair Display', serif;
    font-size:26px;
}

.lock-box p{
    margin-top:10px;
    opacity:.7;
}

.lock-box input{
    margin-top:24px;
    padding:14px;
    width:100%;
    border-radius:30px;
    border:1px solid #ccc;
    text-align:center;
    font-size:15px;
}

.lock-box button{
    margin-top:20px;
    width: 100%;
    padding:14px 40px;
    border:none;
    border-radius:30px;
    background:#cfa66a;
    color:#fff;
    font-size:15px;
    cursor:pointer;
    transition:.3s;
}

.lock-box button:hover{
    transform:translateY(-2px);
}

@media (max-width: 768px){
    .logo-lock{
        width:220px;
        scale:1.3;
    }

    .lock-screen{
        padding: 35px;
    }
}

@media (max-width:600px){
    .logo-lock{
        width:190px;
        scale:1.3;
    }
}



/* =========================================================
   FRESH 48H — editorial de nascimento / paleta nude
   ========================================================= */
:root{
  --paper:#faf6f2;
  --paper-deep:#f0e5dd;
  --nude:#e6d2c5;
  --rose:#c99486;
  --rose-deep:#a96f64;
  --ink:#45332f;
  --muted:#8b7770;
  --line:rgba(69,51,47,.16);
  --serif:'Playfair Display',Georgia,serif;
  --sans:'DM Sans',Arial,sans-serif;
  --cor-primaria:#c99486;
  --cor-dourado-filme:#f0d8c5;
  --cor-texto-secundario:#d7c3b7;
}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
body,button{font-family:var(--sans)}
*{box-sizing:border-box}
.site{display:none;overflow:hidden}
.site a{color:inherit;text-decoration:none}
img{max-width:100%}
button{font:inherit}
::selection{background:#e6c8bc;color:#45332f}

/* Abertura: capa editorial */
.hero{
  min-height:100svh;padding:0 clamp(22px,6vw,94px);position:relative;
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  grid-template-rows:auto 1fr auto;gap:0 clamp(30px,6vw,100px);
  background:#f0e5dd;isolation:isolate;overflow:hidden
}
.hero:before{
  content:'fresh';position:absolute;z-index:-1;left:-.04em;bottom:-.27em;
  font:italic clamp(180px,34vw,520px)/.8 var(--serif);
  color:rgba(169,111,100,.075);pointer-events:none
}
.topbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);gap:16px}
.brand img{scale: 1.5;display:block;width:clamp(125px,15vw,190px);max-height:68px;object-fit:contain}
.topbar-label,.nav-link,.eyebrow,.hero-bottom,.image-caption,.gallery-footnote,.player-label{font-size:10px;letter-spacing:2px;text-transform:uppercase}
.topbar-label{font-size:20px;letter-spacing:4px;color:var(--muted)}
.nav-link{border:1px solid rgba(69,51,47,.35);padding:12px 17px;border-radius:99px;letter-spacing:1px;transition:.25s}
.nav-link:hover{background:var(--ink);color:#fff}
.nav-link span{margin-left:12px}
.hero-copy{align-self:center;padding:clamp(52px,8vh,100px) 0;max-width:610px;position:relative;z-index:1}
.eyebrow{color:var(--rose-deep);font-weight:700;letter-spacing:2.2px;line-height:1.7}
.eyebrow span{display:inline-block;width:23px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}
.hero h1,.intro-section h2,.gallery-heading h2,.closing-note h2{font-family:var(--serif);font-weight:400;letter-spacing:-1.8px}
.hero h1{font-size:clamp(48px,6.3vw,94px);line-height:.99;margin:25px 0;max-width:650px}
.hero h1 em,.intro-section h2 em,.gallery-heading h2 em,.closing-note h2 em{font-weight:400;color:var(--rose-deep)}
.hero-description{font-size:clamp(15px,1.2vw,18px);line-height:1.9;color:#75605a;max-width:475px}
.cta{display:inline-flex;align-items:center;gap:28px;margin-top:20px;padding:16px 21px;background:var(--ink);color:#fff!important;border-radius:2px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;transition:transform .25s,background .25s}
.cta:hover{transform:translateY(-3px);background:var(--rose-deep)}
.cta span{font-size:18px}
.hero-note{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:16px;margin-top:24px}
.hero-image-wrap{align-self:center;justify-self:stretch;position:relative;margin:45px 0 55px;padding:0 0 0 8%;min-width:0}
.hero-image-wrap:before{content:"";position:absolute;left:0;top:8%;width:70%;height:83%;border:1px solid rgba(169,111,100,.45)}
.hero-image{position:relative;display:block;width:100%;height:min(72vh,760px);min-height:430px;object-fit:cover;object-position:center;border-radius:48% 48% 2px 2px;box-shadow:0 24px 60px rgba(83,53,43,.13)}
.image-stamp{position:absolute;left:0;bottom:12%;width:102px;height:102px;border-radius:50%;background:var(--rose-deep);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 12px 35px #7b514238}
.image-stamp span{font:40px/.9 var(--serif)}
.image-stamp small{font-size:8px;line-height:1.5;letter-spacing:1.5px;text-align:center;margin-top:6px}
.image-caption{position:absolute;right:0;bottom:-28px;color:var(--muted);font-size:9px;letter-spacing:1.5px}
.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:18px 0 22px;color:var(--muted);border-top:1px solid var(--line);font-size:9px}

/* Texto introdutório */
.intro-section{padding:clamp(85px,12vw,165px) 24px;text-align:center;background:var(--paper)}
.intro-section .eyebrow{margin-bottom:25px}
.intro-section h2{font-size:clamp(39px,5.2vw,70px);line-height:1.08;margin:0 auto 24px}
.intro-section>p:not(.eyebrow){max-width:650px;margin:0 auto;color:#796660;font-size:16px;line-height:2}
.intro-signature{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:34px;color:var(--rose-deep);font:italic 20px var(--serif)}
.intro-signature span:first-child{width:38px;height:1px;background:var(--rose)}

/* Carrossel fotográfico */
.gallery-section{padding:clamp(65px,9vw,125px) clamp(20px,5vw,76px) clamp(70px,9vw,120px);background:#efe2d9}
.gallery-heading{max-width:1320px;margin:0 auto 44px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.gallery-heading .eyebrow{margin-bottom:16px}
.gallery-heading h2{font-size:clamp(38px,5vw,68px);line-height:1.05;margin:0}
.gallery-side-note{text-align:right;color:var(--muted);font:italic 19px/1.6 var(--serif);margin:0 0 5px}
.carousel-shell{max-width:1320px;margin:auto}
.carousel-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.carousel-viewport::-webkit-scrollbar{display:none}
.carousel-track{display:flex;gap:clamp(12px,1.5vw,22px);padding:5px 2px 15px}
.carousel-slide{flex:0 0 calc((100% - 44px)/3);min-width:0;scroll-snap-align:start}
.foto{margin:0;position:relative;background:#e2d1c6;overflow:hidden;isolation:isolate}
.foto img{display:block;width:100%;height:clamp(300px,40vw,570px);object-fit:cover;cursor:zoom-in;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}
.foto:hover img{transform:scale(1.035);filter:saturate(.92)}
.carousel-slide:nth-child(3n + 2) .foto img{height:clamp(250px,33vw,475px);margin-top:45px}
.carousel-slide:nth-child(5n) .foto img{object-position:center 35%}
.foto:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(35,24,21,.42));pointer-events:none}
.foto figcaption{position:absolute;bottom:15px;left:16px;right:58px;z-index:2;display:flex;justify-content:space-between;align-items:center;color:white;font-size:10px;letter-spacing:1.5px}
.foto figcaption span{font-size:9px;opacity:.86;text-transform:uppercase}
.foto-download{position:absolute;z-index:4;right:12px;top:12px;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(250,246,242,.94);color:var(--ink)!important;border:1px solid rgba(255,255,255,.7);box-shadow:0 4px 16px #291d1a20;transition:background .2s,transform .2s}
.foto-download span{font-size:21px;line-height:1;transform:translateY(-1px)}
.foto-download:hover{background:#fff;transform:translateY(-2px)}
.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}
.carousel-hint{font-size:11px;color:#806a62;letter-spacing:.3px;margin:0}
.swipe-icon{font-size:19px;margin-right:9px;vertical-align:-2px}
.carousel-navigation{display:flex;align-items:center;gap:10px}
.carousel-count{font-size:11px;letter-spacing:1px;color:var(--ink);min-width:58px}
.carousel-count i{font-style:normal;color:var(--rose-deep);padding:0 4px}
.carousel-arrow{width:42px;height:42px;border:1px solid rgba(69,51,47,.35);border-radius:50%;background:transparent;color:var(--ink);font-size:19px;cursor:pointer;transition:all .2s}
.carousel-arrow:hover:not(:disabled){background:var(--ink);color:white}
.carousel-arrow:disabled{opacity:.3;cursor:default}
.carousel-progress{height:2px;background:rgba(69,51,47,.13);margin-top:15px;overflow:hidden}
.carousel-progress span{display:block;width:5%;height:100%;background:var(--rose-deep);transition:width .2s}
.gallery-footnote{text-align:center;color:#8b7770;font-size:9px;letter-spacing:1.4px;margin:28px 0 0}

/* Encerramento antes da cena final */
.closing-note{padding:clamp(85px,12vw,155px) 24px;text-align:center;background:var(--paper)}
.closing-ornament{display:block;color:var(--rose);font-size:23px;margin-bottom:22px}
.closing-note .eyebrow{margin-bottom:18px}
.closing-note h2{font-size:clamp(38px,5vw,67px);line-height:1.12;margin:0 auto 25px}
.closing-note>p:last-child{max-width:610px;margin:auto;color:#796660;font-size:15px;line-height:1.9}

/* Cena final original do modelo, adaptada à paleta nude */
.final-filme{width:100%;min-height:92vh;background-size:cover;background-position:center center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;padding:65px 20px;position:relative;overflow:hidden;color:#fff}
.final-filme::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(255,246,239,.08) 0%,rgba(36,24,20,.20) 50%,rgba(36,24,20,.72) 100%);z-index:1}
.final-foto{position:absolute;inset:0;background-size:cover;background-position:center center;background-repeat:no-repeat;filter:grayscale(25%) brightness(.68) contrast(1.05);transform:scale(1.035)}
.final-overlay{width:100%;max-width:780px;position:relative;z-index:2;display:flex;justify-content:center;align-items:center}
.final-filme::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(66,42,34,.12),rgba(48,29,24,.45));mix-blend-mode:multiply;z-index:1}
.final-conteudo{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;animation:fadeFinal 1.2s ease;text-shadow:0 5px 28px rgba(0,0,0,.4);padding:35px 20px}
.final-nome{display:block;font-family:var(--serif);font-size:clamp(48px,8vw,88px);line-height:1.05;font-weight:400;margin-bottom:25px;color:#fff}
.final-divisor{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:30px}
.final-divisor:before,.final-divisor:after{content:"";width:75px;height:1px;background:rgba(240,216,197,.8)}
.final-divisor span{color:#f0d8c5;font-size:20px}
.final-conteudo h2{font-family:var(--serif);font-size:clamp(30px,4.2vw,52px);line-height:1.15;font-weight:400;margin:0 0 22px;color:#fff}
.final-conteudo p{max-width:610px;margin:0 auto;font-size:clamp(15px,1.7vw,19px);line-height:1.85;color:rgba(255,255,255,.92)}
.assinatura{margin:42px 0 30px}
.assinatura h3{font-family:'Allura',cursive;font-size:clamp(44px,6vw,68px);font-weight:400;color:#f0d8c5;margin:0 0 4px}
.assinatura span{display:block;letter-spacing:3px;text-transform:uppercase;font-size:10px;color:rgba(255,255,255,.9)}
.assinatura small{display:block;margin-top:8px;font-size:12px;color:rgba(255,255,255,.88)}
.assinatura-links{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap;color:#fff;font-size:14px}
.assinatura-links span{color:rgba(255,255,255,.45)}
.assinatura-links a{color:rgba(255,255,255,.85);letter-spacing:1px;font-size:12px;transition:.25s}
.assinatura-links a:hover{color:#f0d8c5}
.texto-album{margin:20px auto!important;font-size:14px!important}
.btn-album{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:240px;padding:15px 25px;border:1px solid #f0d8c5;background:rgba(255,255,255,.07);backdrop-filter:blur(10px);color:#f0d8c5!important;font-size:12px;letter-spacing:1px;transition:.25s}
.btn-album:hover{background:rgba(255,255,255,.18);transform:translateY(-3px)}
@keyframes fadeFinal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* Rodapé e música */
.site-footer{padding:28px clamp(20px,5vw,70px);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;background:#45332f;color:#f7eee8}
.site-footer>a:first-child{font:22px var(--serif)}
.site-footer>a:first-child span{font:10px var(--sans);letter-spacing:1.5px;text-transform:uppercase;display:block;margin-top:4px}
.site-footer p{font-size:10px;color:#d7c3b7;letter-spacing:.5px}
.back-top{font-size:10px;letter-spacing:1px;text-transform:uppercase}
.player-album{position:fixed;right:20px;bottom:20px;z-index:50;display:flex;align-items:center;gap:10px;padding:7px 14px 7px 7px;background:rgba(250,246,242,.94);border:1px solid rgba(69,51,47,.14);border-radius:50px;box-shadow:0 6px 25px #3a29251a;opacity:0;pointer-events:none;transform:translateY(8px);transition:.3s}
.player-album.visivel{opacity:1;pointer-events:auto;transform:none}
.player-album button{width:35px;height:35px;border:0;border-radius:50%;background:var(--rose-deep);color:white;cursor:pointer}
.player-label{font-size:9px;color:var(--ink);letter-spacing:1px}

/* Lightbox */
.lightbox{display:none;position:fixed;inset:0;z-index:10000;background:rgba(31,22,20,.96);align-items:center;justify-content:center;padding:55px 65px}
.lightbox img{max-width:min(88vw,1200px);max-height:85vh;object-fit:contain;box-shadow:0 15px 60px #0005;cursor:default}
.lightbox button{position:absolute;border:1px solid #ffffff55;background:#ffffff12;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lightbox-close{top:18px;right:20px;width:42px;height:42px;font-size:29px}
.lightbox .prev,.lightbox .next{top:50%;transform:translateY(-50%);width:46px;height:46px;font-size:32px}
.lightbox .prev{left:18px}.lightbox .next{right:18px}
.lightbox-counter{position:absolute;bottom:20px;color:#fff;font-size:11px;letter-spacing:2px}

/* Responsividade */
@media(max-width:900px){
 .hero{grid-template-columns:1fr;gap:0;padding:0 28px}
 .topbar{padding:18px 0}.topbar-label{display:none}
 .hero-copy{padding:58px 0 24px;max-width:720px}
 .hero h1{font-size:clamp(48px,9vw,78px)}
 .hero-description{max-width:620px}
 .hero-image-wrap{width:min(100%,620px);justify-self:center;margin:20px auto 55px;padding-left:5%}
 .hero-image{height:min(72vw,650px);min-height:350px}
 .hero-bottom{margin-top:0}
 .carousel-slide{flex-basis:calc((100% - 22px)/2)}
 .foto img{height:clamp(320px,60vw,540px)}
 .carousel-slide:nth-child(3n + 2) .foto img{height:clamp(280px,52vw,475px);margin-top:25px}
}
@media(max-width:600px){
 .hero{padding:0 20px}
 .brand img{width:130px;max-height:52px}
 .nav-link{padding:10px 12px;font-size:9px}
 .hero-copy{padding:48px 0 20px}
 .hero h1{font-size:clamp(43px,12vw,64px);letter-spacing:-1.3px;margin:18px 0}
 .hero-description{font-size:14px;line-height:1.8}
 .cta{margin-top:14px;padding:14px 16px;font-size:10px}
 .hero-note{font-size:15px}
 .hero-image-wrap{margin:18px auto 48px;width:100%;padding-left:6%}
 .hero-image{height:112vw;min-height:360px;max-height:560px}
 .image-stamp{width:82px;height:82px;bottom:10%;left:-1%}
 .image-stamp span{font-size:32px}.image-stamp small{font-size:7px}
 .image-caption{font-size:8px;letter-spacing:1px;bottom:-24px}
 .hero-bottom{font-size:7px;letter-spacing:1px}
 .intro-section{padding:80px 22px}
 .intro-section h2,.gallery-heading h2,.closing-note h2{letter-spacing:-1px}
 .intro-section>p:not(.eyebrow){font-size:14px}
 .gallery-section{padding:70px 18px 75px}
 .gallery-heading{display:block;margin-bottom:28px}
 .gallery-heading h2{font-size:43px}
 .gallery-side-note{display:none}
 .carousel-track{gap:12px}
 .carousel-slide{flex-basis:86%}
 .foto img{height:112vw;max-height:580px;min-height:380px}
 .carousel-slide:nth-child(3n + 2) .foto img{height:100vw;max-height:530px;min-height:340px;margin-top:22px}
 .foto-download{width:36px;height:36px;top:10px;right:10px}
 .carousel-controls{align-items:flex-start;flex-direction:column;gap:14px}
 .carousel-navigation{align-self:flex-end}
 .gallery-footnote{font-size:8px;line-height:1.8}
 .closing-note{padding:80px 22px}
 .closing-note>p:last-child{font-size:14px}
 .final-filme{min-height:90svh;padding:55px 15px}
 .final-conteudo{padding:25px 8px}
 .final-nome{margin-bottom:20px}
 .final-conteudo p{font-size:14px}
 .assinatura{margin:34px 0 25px}
 .assinatura-links{gap:10px}
 .btn-album{min-width:0;width:100%;max-width:300px}
 .site-footer{justify-content:center;text-align:center;flex-direction:column;gap:8px;padding:25px 18px}
 .site-footer p{margin:4px}
 .player-album{right:12px;bottom:12px}
 .lightbox{padding:50px 8px}
 .lightbox img{max-width:96vw;max-height:78vh}
 .lightbox .prev,.lightbox .next{width:36px;height:36px;font-size:25px;background:#0005}
 .lightbox .prev{left:7px}.lightbox .next{right:7px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
