@import url('https://fonts.googleapis.com/css2?family=Parisienne&display=swap');
:root{--navy:#050505;--navy2:#101010;--silver:#d8dce7;--white:#f7f8fc;--muted:#aeb8cb;--line:#ffffff24}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#030303;color:var(--white);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}
.wrap{width:min(1120px,92%);margin:auto}.eyebrow{letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;color:#bfc8d9}
h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,3.4rem);margin:.55rem 0 1rem}
section{padding:90px 0}.section-head{text-align:center;margin-bottom:40px}
.hero{min-height:92vh;position:relative;display:grid;place-items:center;overflow:hidden;}
.hero:before{content:"";position:absolute;inset:-30%;}
@keyframes glow{to{transform:scale(1.12);opacity:.65}}
.disco{position:absolute;width:180px;aspect-ratio:1;border-radius:50%;top:8%;right:9%;background:repeating-conic-gradient(#e7ebf4 0 7deg,#8c9ab2 7deg 14deg,#182947 14deg 21deg);box-shadow:0 0 80px #aebbd955;opacity:.75}
.disco:after{content:"";position:absolute;inset:0;border-radius:50%;}
.disco:before{content:"";position:absolute;inset:12%;border-radius:50%;background:repeating-conic-gradient(#ffffff 0 2deg,transparent 2deg 9deg);opacity:.5}
.hero:after{content:"✦  ✧  ✦";position:absolute;bottom:7%;left:0;right:0;text-align:center;color:#bfc9da;letter-spacing:1.4em;font-size:.7rem;opacity:.65;pointer-events:none}
.vinyl{position:absolute;width:145px;height:145px;border-radius:50%;left:7%;bottom:9%;opacity:.42;background:repeating-radial-gradient(circle,#080808 0 4px,#262626 5px 6px,#050505 7px 10px);border:1px solid #8f98a7;box-shadow:0 0 35px #aab8d022}
.vinyl:after{content:"";position:absolute;width:28px;height:28px;border-radius:50%;background:#b9c2d2;left:calc(50% - 14px);top:calc(50% - 14px);box-shadow:inset 0 0 0 8px #111}
.disco-label{position:absolute;top:26px;left:50%;transform:translateX(-50%);font-size:.65rem;letter-spacing:.35em;color:#cbd5e1;z-index:2}
.hero-content{position:relative;text-align:center;padding:100px 20px;max-width:850px}
.hero .eyebrow{color:#d9deea}.hero h1{font:400 clamp(3.5rem,10vw,8rem)/.95 Georgia,serif;margin:20px 0;color:#f8f9ff;text-shadow:0 0 35px #9fb9e444}
.hero h1 span{display:block;font:500 .25em/1.6 Inter,sans-serif;letter-spacing:.42em;color:#c9d0de;text-transform:uppercase;}
.hero p{color:#c0c9d9;letter-spacing:.06em}.cta{display:inline-flex;border:1px solid #d7deec88;padding:13px 25px;border-radius:30px;margin-top:20px;transition:.25s}.cta:hover{background:#dce4f3;color:#07152f}
.slider{position:absolute;inset:0;z-index:1}.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease}.slide.active{opacity:.28}.slide:not(.active){display:none}.navbtn,.dots{display:none!important}.slider:after{content:"";position:absolute;inset:0;}
.hero-content{z-index:2}.navbtn{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid #ffffff55;background:#08152dbb;color:white;font-size:1.3rem}.prev{left:22px}.next{right:22px}.dots{display:flex;gap:9px;justify-content:center;margin-top:30px}.dot{width:7px;height:7px;border-radius:50%;border:0;background:#65718a;padding:0}.dot.active{background:#f0f3fa;box-shadow:0 0 10px #fff}
.countdown{background:linear-gradient(180deg,#030303,#0a0a0a)}.timer{display:flex;justify-content:center;gap:clamp(12px,4vw,45px);flex-wrap:wrap}.unit{min-width:100px;text-align:center;border-right:1px solid var(--line);padding:12px 24px}.unit:last-child{border:0}.num{font:400 clamp(2.5rem,6vw,4.5rem) Georgia,serif;color:#eef2fb}.unit small{display:block;color:#aebbd0;text-transform:uppercase;letter-spacing:.2em;font-size:.65rem;margin-top:6px}
.gallery{background:#030303}.gallery-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-color:#7f8795 #111;scrollbar-width:thin}.photo{flex:0 0 min(31%,340px);height:260px;scroll-snap-align:center;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#172c50,#080f20);position:relative}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.photo:hover img{transform:scale(1.05)}.photo:empty:after{content:"Adicione sua foto";position:absolute;inset:0;display:grid;place-items:center;color:#aebbd0;font-size:.8rem;letter-spacing:.1em}
.photo-carousel{position:relative;max-width:850px;margin:0 auto;padding:0 54px}
.gallery-viewport{overflow:hidden;border-radius:16px;border:1px solid #ffffff22;background:#090909;box-shadow:0 18px 55px #000}
.gallery-track{display:flex;transition:transform .55s cubic-bezier(.22,.7,.25,1);will-change:transform}
.gallery-track .photo{flex:0 0 100%;width:100%;height:clamp(260px,48vw,500px);border-radius:0;background:#090909}
.gallery-track .photo img{object-fit:contain;background:#080808}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid #cbd5e177;background:#080808;color:#f5f5f5;font-size:1.7rem;line-height:1;z-index:2;transition:.2s}
.gallery-arrow:hover{background:#d8dce7;color:#050505}.gallery-prev{left:0}.gallery-next{right:0}
.gallery-dots{display:flex;justify-content:center;align-items:center;gap:10px;margin:22px auto 0;flex-wrap:wrap}
.gallery-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#555;cursor:pointer;transition:.25s}
.gallery-dot.active{width:25px;border-radius:8px;background:#e2e5ed;box-shadow:0 0 12px #cbd5e766}
.info{background:#080808}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-card{border:1px solid var(--line);background:#ffffff08;border-radius:16px;padding:30px 22px;text-align:center;transition:.25s}.info-card:hover{transform:translateY(-5px);border-color:#bfcbe355}.ico{width:58px;height:58px;border:1px solid #bfcbe355;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;color:#dce3f0}.ico svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.5}.info-card h3{font-weight:500;margin:0 0 8px}.info-card p{color:var(--muted);font-size:.9rem;line-height:1.6;margin:0}
.details{background:#030303}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.detail{border-top:1px solid var(--line);padding:24px 8px;text-align:center}.detail .ico{border:0;margin-bottom:10px}.detail strong{display:block;font-weight:500;margin-bottom:8px}.detail span{color:var(--muted);font-size:.9rem;line-height:1.6}
footer{text-align:center;padding:35px 15px;color:#8995aa;border-top:1px solid var(--line);font-size:.75rem;letter-spacing:.12em}
.modal{position:fixed;inset:0;background:#020611d9;display:none;align-items:center;justify-content:center;padding:20px;z-index:10;backdrop-filter:blur(8px)}.modal.open{display:flex}.modal-box{width:min(500px,100%);background:#111111;border:1px solid #ffffff2b;border-radius:18px;padding:30px;position:relative;box-shadow:0 25px 80px #0008}.modal-box h3{font:400 2rem Georgia,serif;margin:0 0 15px}.modal-box p{color:#c0cadb;line-height:1.7}.close{position:absolute;right:15px;top:12px;background:none;border:0;color:#dce4f2;font-size:1.5rem}.modal-box a{display:inline-block;border:1px solid #bfcbe355;padding:10px 16px;border-radius:25px;margin-top:10px}.modal-box input{width:100%;padding:12px;border-radius:8px;border:1px solid #ffffff30;background:#050505;color:white;margin:7px 0}.modal-box button.submit{padding:11px 18px;border:0;border-radius:24px;background:#dce4f3;color:#07152f;margin-top:8px}.success{color:#d8e8ff!important}
@media(max-width:700px){section{padding:65px 0}.photo{height:220px}.disco{width:115px;right:8%;top:8%}.navbtn{width:38px;height:38px}.prev{left:10px}.next{right:10px}.photo-carousel{padding:0 38px}.gallery-arrow{width:34px;height:34px}.gallery-track .photo{height:260px}.cards,.detail-grid{grid-template-columns:1fr;gap:12px}.info-card{padding:25px 18px}.unit{min-width:75px;padding:8px 12px}.hero-content{padding:90px 35px}.hero h1{font-size:clamp(3.2rem,16vw,5.5rem)}}

/* Acabamento final: tipografia branca, ícones maiores e assinatura manuscrita */
body, body * { color: #fff; }
.hero h1.signature { font-family: 'Parisienne', 'Brush Script MT', cursive; font-size: clamp(5rem, 14vw, 10rem); font-weight: 400; line-height: 1.05; text-shadow: 0 0 18px #ffffff55, 0 0 42px #b7a5ff66; }
.hero h1.signature span { font-family: Inter, system-ui, sans-serif; color: #fff; letter-spacing: .42em; font-size: .16em; }
.eyebrow, .hero p, .unit small, .info-card p, .detail span, footer, .modal-box p, .photo:empty:after { color: #fff !important; }
.ico { width: 76px; height: 76px; border: 1px solid #ffffff99; color: #fff; box-shadow: 0 0 15px #ffffff22, inset 0 0 14px #ffffff12; transition: transform .3s ease, box-shadow .3s ease, background .3s ease; }
.ico svg { width: 36px; height: 36px; stroke: #fff; stroke-width: 1.8; filter: drop-shadow(0 0 5px #ffffffaa); }
.info-card:hover .ico, .detail:hover .ico { transform: translateY(-4px) scale(1.08); background: #ffffff16; box-shadow: 0 0 12px #fff9, 0 0 30px #b7a5ff77, inset 0 0 18px #ffffff22; }
.info-card h3, .detail strong, .modal-box h3 { color: #fff; }
.modal-box input { color: #fff; }
.modal-box input::placeholder { color: #ffffffb0; }
.modal-box button.submit { background: #171717; color: #fff; border: 1px solid #fff; }
.cta { color: #fff; border-color: #fff; }
.cta:hover { background: #fff; color: #000; }
.gallery-arrow { color: #fff; }
.gallery-arrow:hover { background: #fff; color: #000; }
.success { color: #fff !important; }
@media (max-width:700px) { .hero h1.signature { font-size: clamp(4.5rem, 19vw, 7rem); } .ico { width: 70px; height: 70px; } .ico svg { width: 33px; height: 33px; } }

/* Fade-in das seções ao entrarem na área visível */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s ease, transform .8s ease;
  will-change: opacity, transform;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
    will-change: auto;
  }
}

