:root {
  --bg:#060812;
  --bg-soft:#0b0f1c;
  --card:#101525;
  --text:#f7f8fb;
  --muted:#aeb6c7;
  --line:rgba(255,255,255,.12);
  --blue:#4b6fff;
  --blue-2:#7191ff;
  --violet:#8f4cff;
  --yellow:#f0b41a;
  --radius:24px;
  --shadow:0 30px 80px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
button{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.site-header{position:fixed;inset:0 0 auto;z-index:50;background:linear-gradient(180deg,rgba(5,7,14,.94),rgba(5,7,14,.62),transparent);backdrop-filter:blur(10px)}
.header-inner{height:78px;display:flex;align-items:center;gap:28px}
.brand{width:170px;display:block}.brand img{width:100%;height:42px;object-fit:cover;object-position:center;border-radius:8px}
.main-nav{display:flex;gap:26px;margin-left:auto}.main-nav a{font-size:.92rem;color:#d8deea;transition:.25s}.main-nav a:hover{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:14px;border:1px solid transparent;font-weight:750;letter-spacing:.01em;transition:.25s;cursor:pointer}.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--violet));box-shadow:0 10px 30px rgba(74,97,255,.34)}
.btn-ghost{border-color:rgba(255,255,255,.27);background:rgba(255,255,255,.055)}
.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:2px;background:white;margin:6px 0}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 34%}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,5,10,.96) 0%,rgba(5,8,16,.78) 38%,rgba(6,7,12,.42) 66%,rgba(4,5,10,.62) 100%),linear-gradient(180deg,rgba(4,6,12,.25),rgba(4,6,12,.2) 55%,var(--bg) 100%)}
.hero-glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.38}.hero-glow-a{width:360px;height:360px;background:var(--blue);right:10%;top:10%}.hero-glow-b{width:300px;height:300px;background:var(--violet);left:28%;bottom:5%}
.hero-content{position:relative;z-index:3;padding:160px 0 105px;max-width:760px;margin-left:max(20px,calc((100vw - min(1180px,calc(100vw - 40px)))/2))}
.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.75rem;font-weight:800;color:#8ea6ff;margin:0 0 18px}.hero h1{font-size:clamp(3.5rem,8vw,7.7rem);line-height:.86;margin:0;text-transform:uppercase;letter-spacing:-.055em}.hero-lead{font-size:clamp(1.3rem,2.6vw,2.2rem);line-height:1.1;max-width:660px;margin:24px 0;color:#eef2ff}.hero-tags{color:#cbd4e7;font-weight:650}.hero-tags span{color:#6e7dff;margin:0 7px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-note{display:inline-block;margin-top:24px;padding:9px 12px;border-left:2px solid var(--blue);font-size:.86rem;color:#dfe5f3;background:rgba(10,14,28,.52)}
.scroll-hint{position:absolute;z-index:4;right:28px;bottom:30px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.2em;font-size:.64rem;color:#9ba5b8}
.section{padding:110px 0;position:relative}.section-heading{max-width:760px;margin-bottom:40px}.section-heading h2,.about h2,.big-copy h2,.planeta-copy h2,.cta-content h2{font-size:clamp(2.2rem,4.4vw,4.2rem);line-height:1;letter-spacing:-.04em;margin:0 0 18px}.section-heading p:not(.eyebrow),.about-copy>p,.big-copy>p,.planeta-copy>p,.cta-content>p{color:var(--muted);font-size:1.05rem;line-height:1.7}
.section-events{background:linear-gradient(180deg,var(--bg),#080b16 60%,var(--bg-soft))}.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.event-card{position:relative;min-height:520px;overflow:hidden;border-radius:20px;border:1px solid var(--line);background:#0d111d}.event-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.event-card:hover img{transform:scale(1.04)}.event-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08) 20%,rgba(0,0,0,.88) 95%)}.event-card-copy{position:absolute;inset:auto 22px 24px}.event-card-copy span{color:#8196ff;font-size:.8rem;font-weight:850}.event-card-copy h3{font-size:1.55rem;margin:8px 0 6px}.event-card-copy p{color:#c6cedc;line-height:1.45;margin:0}
.about{background:#070a13}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.about-media{position:relative}.about-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px;border:1px solid var(--line);box-shadow:var(--shadow)}.about-badge{position:absolute;right:-22px;bottom:28px;background:linear-gradient(135deg,#131a34,#0c1020);border:1px solid rgba(110,129,255,.42);padding:16px 18px;border-radius:14px;color:#b9c2d6;box-shadow:0 20px 50px rgba(0,0,0,.35)}.about-badge strong{color:white}.mini-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0}.mini-facts div{padding:18px;border-radius:16px;background:#0e1322;border:1px solid var(--line)}.mini-facts strong{display:block}.mini-facts span{display:block;color:#98a4b8;font-size:.82rem;margin-top:6px}.text-link{font-weight:800;color:#9cadff}
.big-moment{overflow:hidden;background:radial-gradient(circle at 75% 50%,rgba(70,82,255,.12),transparent 42%),#090d18}.big-moment-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:center}.moment-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.moment-pills span{padding:10px 14px;border:1px solid var(--line);border-radius:999px;color:#d8deea;background:rgba(255,255,255,.025)}.crowd-frame{position:relative;border-radius:26px;overflow:hidden;border:none!important;box-shadow:var(--shadow);background:#090d18;height:560px}.crowd-frame img{position:absolute;left:0;top:-18px;width:100%;height:calc(100% + 36px);max-width:none;object-fit:cover;object-position:center 42%!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.planeta-section{background:linear-gradient(180deg,#080b13,#060812)}.planeta-grid{display:grid;grid-template-columns:.75fr 1fr;gap:66px;align-items:center}.planeta-card{padding:14px;border:1px solid var(--line);border-radius:28px;background:#0b1020}.planeta-card img{width:100%;max-height:650px;object-fit:cover;border-radius:18px}.planeta-copy .btn{margin-top:18px}
.gallery-section{background:#060812}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:180px;gap:12px}.gallery-item{margin:0;overflow:hidden;border-radius:18px;border:1px solid var(--line);grid-column:span 4;grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery-item:hover img{transform:scale(1.04)}.gallery-tall{grid-row:span 3}.gallery-wide{grid-column:span 8}
.approach-section{background:#090d18}.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.approach-card{padding:28px 24px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,#0e1424,#0a0f1a)}.approach-card span{font-size:.72rem;color:#7f92ff;font-weight:900}.approach-card h3{font-size:1.3rem;margin:12px 0}.approach-card p{color:#9da8ba;line-height:1.6;margin:0}
.cta-section{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden}.cta-bg,.cta-overlay{position:absolute;inset:0}.cta-bg img{width:100%;height:100%;object-fit:cover;object-position:70% center}.cta-overlay{background:linear-gradient(90deg,rgba(8,8,8,.93),rgba(8,8,8,.72) 45%,rgba(8,8,8,.15))}.cta-content{position:relative;z-index:2;max-width:730px;margin-left:max(20px,calc((100vw - min(1180px,calc(100vw - 40px)))/2))}.cta-content .eyebrow{color:#ffd067}.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn-whatsapp{background:#1ea95d;color:white}.btn-instagram{background:linear-gradient(135deg,#7b42ff,#d5318c)}.email-link{display:inline-block;margin-top:20px;color:#e9edf6;border-bottom:1px solid rgba(255,255,255,.35)}
.site-footer{background:#05070d;border-top:1px solid var(--line);padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr 1.2fr .8fr .9fr;gap:30px;align-items:start}.footer-logo{width:170px;height:42px;object-fit:cover;border-radius:8px}.footer-grid p{color:#8f9aac}.footer-links,.footer-contact{display:flex;flex-direction:column;gap:10px;color:#bcc5d5}.footer-bottom{border-top:1px solid var(--line);margin-top:36px;padding-top:22px;color:#737d90;font-size:.85rem}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:980px){
  .desktop-cta{display:none}.menu-toggle{display:block;margin-left:auto}.main-nav{position:absolute;top:72px;left:20px;right:20px;display:none;flex-direction:column;gap:6px;padding:18px;border-radius:16px;background:#0a0e19;border:1px solid var(--line);box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{padding:12px}
  .hero-content{margin:0;width:min(100% - 40px,1180px);margin-inline:auto}.hero-video{object-position:center center}.event-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.big-moment-grid,.planeta-grid{grid-template-columns:1fr}.about-grid{gap:36px}.about-media{max-width:650px}.about-badge{right:12px}.mini-facts{grid-template-columns:1fr}.crowd-frame{height:460px}.crowd-frame img{top:-16px;height:calc(100% + 32px);object-position:center 40%!important}.approach-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.cta-content{margin:0;width:min(100% - 40px,1180px);margin-inline:auto}
}
@media (max-width:640px){
  .container{width:min(100% - 28px,1180px)}.header-inner{height:68px}.brand{width:142px}.brand img{height:36px}.hero{min-height:90svh}.hero-video{object-position:center 22%}.hero-overlay{background:linear-gradient(180deg,rgba(4,5,10,.2),rgba(4,5,10,.48) 35%,rgba(4,5,10,.96) 82%,var(--bg))}.hero-content{width:min(100% - 28px,1180px);padding:150px 0 28px;align-self:flex-end}.hero h1{font-size:clamp(3.2rem,17vw,5.2rem)}.hero-lead{font-size:1.35rem}.hero-tags{font-size:.9rem}.scroll-hint{display:none}.section{padding:78px 0}.event-grid{grid-template-columns:1fr}.event-card{min-height:470px}.section-heading h2,.about h2,.big-copy h2,.planeta-copy h2,.cta-content h2{font-size:2.45rem}.about-media img{aspect-ratio:1/1.15}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto}.gallery-item,.gallery-tall,.gallery-wide{grid-column:auto;grid-row:auto;aspect-ratio:4/3}.gallery-tall{aspect-ratio:3/4}.approach-grid{grid-template-columns:1fr}.cta-section{min-height:720px;align-items:flex-end}.cta-bg img{object-position:65% center}.cta-overlay{background:linear-gradient(180deg,rgba(7,7,8,.18),rgba(7,7,8,.94) 58%)}.cta-content{width:min(100% - 28px,1180px);padding:0 0 70px}.cta-actions .btn{width:100%}.footer-grid{grid-template-columns:1fr}.footer-logo{width:150px}.hero-actions .btn{width:100%}
}


/* AJUSTES FINOS DE ENQUADRAMENTO E BORDAS */
.hero-video{
  object-position:center 18%;
}

.event-card,
.gallery-item,
.crowd-frame,
.planeta-card,
.about-media img{
  border:none !important;
}

.planeta-card{
  padding:0 !important;
  background:transparent !important;
}

.about-media img,
.event-card img,
.gallery-item img,
.crowd-frame img,
.planeta-card img,
.cta-bg img{
  object-fit:cover;
  background:transparent;
}

/* Eventos */
.event-grid .event-card:nth-child(1) img{ object-position:center 18%; }
.event-grid .event-card:nth-child(2) img{ object-position:center 22%; }
.event-grid .event-card:nth-child(3) img{ object-position:center 20%; }
.event-grid .event-card:nth-child(4) img{ object-position:center 18%; }

/* Seções principais */
.about-media img{ object-position:center 18%; }
.crowd-frame img{ object-position:center 42%; }
.planeta-card img{ object-position:center 22%; }
.cta-bg img{ object-position:center 18%; }

/* Galeria */
.gallery-grid .gallery-item:nth-child(1) img{ object-position:center 16%; }
.gallery-grid .gallery-item:nth-child(2) img{ object-position:center 24%; }
.gallery-grid .gallery-item:nth-child(3) img{ object-position:center 20%; }
.gallery-grid .gallery-item:nth-child(4) img{ object-position:center 30%; }
.gallery-grid .gallery-item:nth-child(5) img{ object-position:center 20%; }

@media (max-width:980px){
  .hero-video{ object-position:center 16%; }
  .event-card{ min-height:420px; }
}

@media (max-width:640px){
  .hero-video{ object-position:center 12%; }
  .event-card{ min-height:360px; }
  .gallery-grid{ grid-auto-rows:150px; }
}

/* CORRECAO FINAL — remove a faixa residual do topo da foto de casamento */
.event-grid .event-card:first-child img{
  inset:auto;
  top:-8px;
  left:0;
  width:100%;
  height:calc(100% + 16px);
  object-fit:cover;
  object-position:center 14%;
}

@media (max-width:980px){
  .event-grid .event-card:first-child img{
    top:-6px;
    height:calc(100% + 12px);
    object-position:center 13%;
  }
}

@media (max-width:640px){
  .event-grid .event-card:first-child img{
    top:-5px;
    height:calc(100% + 10px);
    object-position:center 12%;
  }
}

/* CORRECAO — remove a faixa residual do topo da foto da secao Sobre */
.about-photo-frame{
  width:100%;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:28px;
  box-shadow:var(--shadow);
  background:#070a13;
}
.about-photo-frame img{
  display:block;
  width:100%;
  height:calc(100% + 32px);
  max-width:none;
  aspect-ratio:auto !important;
  object-fit:cover;
  object-position:center 18% !important;
  transform:translateY(-32px);
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

@media (max-width:640px){
  .about-photo-frame{
    aspect-ratio:1/1.15;
  }
  .about-photo-frame img{
    height:calc(100% + 28px);
    transform:translateY(-28px);
    object-position:center 17% !important;
  }
}

/* CORRECAO — remove sobra superior da foto Grandes Momentos */
@media (max-width:640px){
  .crowd-frame{height:340px;}
  .crowd-frame img{
    top:-14px;
    height:calc(100% + 28px);
    object-position:center 39% !important;
  }
}