/* ============ NAVBAR ============ */
.nav{position:fixed;inset:0 0 auto;z-index:100;padding:.9rem 0;transition:all .4s var(--ease)}
.nav.scrolled{background:rgba(255,255,255,.85);backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);padding:.55rem 0}
.nav-inner{display:flex;align-items:center;gap:1.5rem}
.logo{display:inline-flex;align-items:center;gap:.75rem;margin-right:auto}
.logo-mark{width:46px;height:46px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-style:italic;font-weight:600;box-shadow:0 6px 16px rgba(214,51,108,.35);transition:transform .4s var(--ease)}
.logo:hover .logo-mark{transform:rotate(-8deg) scale(1.06)}
.logo-text{display:flex;flex-direction:column;line-height:1.15;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.22rem;color:var(--ink)}
.logo-text small{font-family:'Jost',sans-serif;font-weight:400;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nav-links{display:flex;align-items:center;gap:.35rem}
.nav-link{position:relative;padding:.55rem .9rem;font-size:.95rem;font-weight:500;color:var(--ink);border-radius:10px;transition:color .3s}
.nav-link::after{content:"";position:absolute;left:50%;bottom:.28rem;width:0;height:2px;background:var(--grad);border-radius:2px;transition:all .35s var(--ease);transform:translateX(-50%)}
.nav-link:hover,.nav-link.active{color:var(--primary)}
.nav-link:hover::after,.nav-link.active::after{width:55%}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:var(--rose-50);border:none;border-radius:12px;cursor:pointer;align-items:center}
.nav-toggle span{width:20px;height:2px;background:var(--primary-dark);border-radius:2px;transition:all .35s var(--ease)}

/* ============ HERO ============ */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;position:relative;padding:8.2rem 0 3.5rem;overflow:hidden}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;animation:drift 16s ease-in-out infinite alternate}
.blob-1{width:520px;height:520px;background:#F7BFD6;top:-140px;right:-120px}
.blob-2{width:420px;height:420px;background:#FBDFEA;bottom:-160px;left:-120px;animation-delay:-6s}
.blob-3{width:260px;height:260px;background:#FCE4EE;top:38%;left:42%;animation-delay:-11s;opacity:.7}
@keyframes drift{to{transform:translate(34px,-30px) scale(1.08)}}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem;position:relative}
.hero-title{font-size:clamp(2.5rem,5.4vw,4.15rem);letter-spacing:-.015em;margin-bottom:1.3rem}
.hero-title em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
.hero .lead{margin-bottom:2.1rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.3rem}
.hero-badges{display:flex;gap:1.6rem;flex-wrap:wrap}
.hero-badges li{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:500;color:var(--muted)}
.hero-badges .ic{color:var(--primary);width:1.05em;height:1.05em}

/* Palco visual do hero */
.visual-stage{position:relative;aspect-ratio:1;width:min(480px,100%);margin-left:auto;display:grid;place-items:center}
.ring{position:absolute;border-radius:50%;inset:0;margin:auto}
.ring-1{width:78%;height:78%;border:1.5px dashed var(--rose-200);animation:spin 40s linear infinite}
.ring-2{width:94%;height:94%;border:1.5px solid var(--rose-100)}
@keyframes spin{to{transform:rotate(360deg)}}
.dot{position:absolute;border-radius:50%}
.dot-1{width:18px;height:18px;background:var(--primary-light);top:9%;right:17%;box-shadow:0 0 0 8px var(--rose-100);animation:bob 5s ease-in-out infinite}
.dot-2{width:12px;height:12px;background:var(--gold);bottom:13%;left:9%;animation:bob 6s ease-in-out -2s infinite}
.visual-card{width:66%;aspect-ratio:1;border-radius:50%;background:var(--grad);background-size:130% 130%;display:grid;place-items:center;text-align:center;box-shadow:var(--shadow-lg),inset 0 0 0 10px rgba(255,255,255,.14);animation:bob 7s ease-in-out infinite}
.visual-monogram{display:flex;flex-direction:column;color:#fff;font-family:'Cormorant Garamond',serif}
.visual-monogram strong{font-size:clamp(2.2rem,4vw,3rem);font-weight:600;letter-spacing:.02em}
.visual-monogram em{font-size:clamp(1.5rem,2.6vw,2rem);font-style:italic;margin-top:-.4rem}
.visual-monogram small{font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;opacity:.85;margin-top:.8rem}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.float-card{position:absolute;display:flex;gap:.7rem;align-items:center;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);padding:.8rem 1.05rem;border-radius:16px;box-shadow:var(--shadow-md);animation:bob 6s ease-in-out infinite}
.float-card strong{display:block;font-size:.86rem;font-weight:600}
.float-card span:not(.fc-icon){font-size:.74rem;color:var(--muted)}
.fc-icon{width:38px;height:38px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--rose-100);color:var(--primary);font-size:1.15rem}
.fc-gold{background:#F7EDDF;color:var(--gold)}
.fc-green{background:#E3F2E7;color:#3E9B57}
.fc-1{top:6%;left:-4%;animation-delay:-1s}
.fc-2{bottom:10%;right:-6%;animation-delay:-3s}
.fc-3{bottom:-2%;left:2%;animation-delay:-5s}
.scroll-hint{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.45rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.scroll-hint span{width:1.5px;height:44px;background:linear-gradient(var(--primary),transparent);overflow:hidden;position:relative}
.scroll-hint span::after{content:"";position:absolute;inset:0;background:var(--rose-200);animation:drip 2s var(--ease) infinite}
@keyframes drip{from{transform:translateY(-100%)}to{transform:translateY(100%)}}

/* ============ MARQUEE ============ */
.marquee{background:var(--grad);padding:1.05rem 0;overflow:hidden;transform:rotate(-1.2deg) scale(1.02);margin-block:-1rem;position:relative;z-index:2;box-shadow:var(--shadow-md)}
.marquee-track{display:flex;gap:2.4rem;width:max-content;animation:scroll-x 26s linear infinite;align-items:center}
.marquee-track span{color:#fff;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.25rem;white-space:nowrap}
.marquee-track i{color:var(--rose-100);font-style:normal;font-size:.8rem}
@keyframes scroll-x{to{transform:translateX(calc(-50% - 1.2rem))}}
