/* ────────────────────────────────────────────────
  Bambi Rayne Studio — shared stylesheet
   ──────────────────────────────────────────────── */
:root{
  --blush:#fce7ec;
  --blush-deep:#f5d0d9;
  --rose:#e8a4b4;
  --rose-deep:#c97f93;
  --rose-gold:#b76e79;
  --rose-gold-light:#d4a5ad;
  --champagne:#f7ede2;
  --cream:#fffaf6;
  --ink:#2b1c20;
  --ink-soft:#4a3439;
  --line:rgba(183,110,121,.18);
  --shadow-soft: 0 30px 80px -30px rgba(183,110,121,.35);
  --gold-grad: linear-gradient(135deg,#d4a373 0%,#e8c4a0 25%,#b76e79 55%,#d4a5ad 80%,#e8c4a0 100%);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;font-weight:300;
  color:var(--ink);background:var(--cream);
  line-height:1.6;overflow-x:hidden;
}
body::before{
  content:'';position:fixed;inset:0;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(212,165,173,.08) 0%, transparent 25%),
    radial-gradient(circle at 85% 75%, rgba(247,237,226,.6) 0%, transparent 35%),
    radial-gradient(circle at 50% 50%, rgba(252,231,236,.3) 0%, transparent 60%);
  pointer-events:none;z-index:0;
}
/* NAV */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:1.4rem 3rem;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(255,250,246,.85);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
  transition:all .3s ease;
}
.logo{
  font-family:'Italiana',serif;
  font-size:1.4rem;letter-spacing:.35em;
  color:var(--ink);text-decoration:none;
  display:flex;align-items:center;gap:.6rem;
}
.logo-mark{
  width:32px;height:32px;border-radius:50%;
  background:var(--gold-grad);background-size:200% 200%;
  animation:shimmer 4s ease infinite;position:relative;
}
.logo-mark::after{
  content:'';position:absolute;inset:4px;border-radius:50%;background:var(--cream);
}
.logo-mark::before{
  content:'M';position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-family:'Italiana',serif;font-size:.85rem;
  color:var(--rose-gold);z-index:2;
}
@keyframes shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.nav-links{display:flex;gap:2.8rem;list-style:none}
.nav-links a{
  color:var(--ink-soft);text-decoration:none;
  font-size:.78rem;letter-spacing:.25em;text-transform:uppercase;
  font-weight:400;position:relative;padding:.4rem 0;transition:color .3s;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:50%;
  width:0;height:1px;background:var(--rose-gold);
  transition:all .3s ease;transform:translateX(-50%);
}
.nav-links a:hover,.nav-links a.active{color:var(--rose-gold)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta{
  padding:.85rem 2rem;background:var(--ink);color:var(--cream);
  text-decoration:none;font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;
  border-radius:100px;transition:all .3s ease;position:relative;overflow:hidden;
}
.nav-cta::before{
  content:'';position:absolute;inset:0;background:var(--gold-grad);
  transform:translateY(101%);transition:transform .4s ease;
}
.nav-cta span{position:relative;z-index:1}
.nav-cta:hover::before{transform:translateY(0)}
.burger{display:none;background:none;border:none;cursor:pointer;color:var(--ink);font-size:1.4rem}
/* PAGE HEADER (smaller hero) */
.page-header{
  padding:11rem 3rem 6rem;
  text-align:center;
  position:relative;z-index:1;
  background:linear-gradient(180deg,var(--blush) 0%,var(--cream) 100%);
}
.page-header .section-eyebrow{
  display:inline-flex;align-items:center;gap:.8rem;
  font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;
  color:var(--rose-gold);margin-bottom:1.5rem;font-weight:500;
}
.page-header .section-eyebrow::before,
.page-header .section-eyebrow::after{
  content:'';width:30px;height:1px;background:var(--rose-gold);
}
.page-header h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.8rem,6vw,5rem);
  font-weight:300;line-height:1;
  letter-spacing:-.02em;margin-bottom:1.2rem;
}
.page-header h1 em{
  font-style:italic;
  background:var(--gold-grad);background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:shimmer 6s ease infinite;
}
.page-header p{
  max-width:600px;margin:0 auto;
  color:var(--ink-soft);font-size:1.05rem;
}
/* SECTIONS */
section{position:relative;z-index:1}
.section-pad{padding:7rem 3rem}
.section-head{text-align:center;max-width:700px;margin:0 auto 4rem}
.section-eyebrow{
  display:inline-flex;align-items:center;gap:.8rem;
  font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;
  color:var(--rose-gold);margin-bottom:1.5rem;font-weight:500;
}
.section-eyebrow::before,.section-eyebrow::after{
  content:'';width:30px;height:1px;background:var(--rose-gold);
}
.section-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.4rem,5vw,3.6rem);
  font-weight:300;line-height:1.05;letter-spacing:-.01em;
}
.section-title em{
  font-style:italic;
  background:var(--gold-grad);background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:shimmer 6s ease infinite;
}
.section-sub{margin-top:1.2rem;color:var(--ink-soft);font-size:1.02rem;line-height:1.7}
/* BUTTONS */
.btn-primary{
  padding:1.1rem 2.4rem;background:var(--ink);color:var(--cream);
  text-decoration:none;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;
  border-radius:100px;display:inline-flex;align-items:center;gap:.8rem;
  transition:all .4s ease;position:relative;overflow:hidden;border:1px solid var(--ink);
}
.btn-primary::before{
  content:'';position:absolute;inset:0;background:var(--gold-grad);
  transform:translateY(101%);transition:transform .5s cubic-bezier(.7,0,.3,1);
}
.btn-primary span,.btn-primary svg{position:relative;z-index:1}
.btn-primary:hover::before{transform:translateY(0)}
.btn-primary:hover{border-color:transparent}
.btn-ghost{
  padding:1.1rem 2.4rem;color:var(--ink);text-decoration:none;
  font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;
  border-radius:100px;border:1px solid var(--rose-gold-light);
  transition:all .3s;display:inline-flex;align-items:center;gap:.6rem;
}
.btn-ghost:hover{background:var(--blush);border-color:var(--rose-gold)}
.btn-whatsapp{
  padding:1.1rem 2.4rem;background:#25D366;color:#fff;
  text-decoration:none;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;
  border-radius:100px;display:inline-flex;align-items:center;gap:.8rem;
  transition:all .3s ease;
}
.btn-whatsapp:hover{background:#1ea952;transform:translateY(-2px)}
/* CTA + FOOTER */
.cta-block{
  background:var(--ink);color:var(--cream);
  padding:7rem 3rem;text-align:center;position:relative;overflow:hidden;
}
.cta-block::before{
  content:'';position:absolute;top:50%;left:50%;
  width:140%;aspect-ratio:1;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(183,110,121,.2) 0%,transparent 60%);
  pointer-events:none;
}
.cta-block h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.5rem,5vw,4rem);font-weight:300;line-height:1.05;
  margin-bottom:1.5rem;position:relative;z-index:1;
}
.cta-block h2 em{
  font-style:italic;background:var(--gold-grad);background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:shimmer 6s ease infinite;
}
.cta-block p{max-width:520px;margin:0 auto 2.5rem;color:rgba(255,250,246,.7);position:relative;z-index:1}
.cta-block .btn-primary{background:var(--cream);color:var(--ink);border-color:var(--cream);position:relative;z-index:1}
footer{
  background:var(--ink);color:rgba(255,250,246,.7);
  padding:4rem 3rem 2rem;border-top:1px solid rgba(255,255,255,.08);
}
.footer-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:3rem;max-width:1300px;margin:0 auto 3rem;
}
.footer-brand .logo{color:var(--cream);margin-bottom:1rem}
.footer-brand p{font-size:.88rem;line-height:1.7;margin-bottom:1.5rem;max-width:300px}
.footer-col h5{
  font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--cream);margin-bottom:1.2rem;font-weight:500;
}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:.7rem}
.footer-col a{color:rgba(255,250,246,.7);text-decoration:none;font-size:.88rem;transition:color .3s}
.footer-col a:hover{color:var(--rose-gold-light)}
.footer-bottom{
  max-width:1300px;margin:0 auto;padding-top:2rem;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;justify-content:space-between;align-items:center;font-size:.78rem;
}
.socials{display:flex;gap:1.5rem}
.socials a{color:rgba(255,250,246,.5);transition:color .3s}
.socials a:hover{color:var(--rose-gold-light)}
/* WHATSAPP FLOAT */
.whatsapp-float{
  position:fixed;bottom:30px;right:30px;
  width:60px;height:60px;background:#25D366;color:#fff;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px -5px rgba(37,211,102,.5);
  z-index:99;text-decoration:none;
  transition:transform .3s ease;
  animation:pulse-ring 2s ease-out infinite;
}
.whatsapp-float:hover{transform:scale(1.1)}
@keyframes pulse-ring{
  0%{box-shadow:0 10px 30px -5px rgba(37,211,102,.5),0 0 0 0 rgba(37,211,102,.4)}
  70%{box-shadow:0 10px 30px -5px rgba(37,211,102,.5),0 0 0 20px rgba(37,211,102,0)}
  100%{box-shadow:0 10px 30px -5px rgba(37,211,102,.5),0 0 0 0 rgba(37,211,102,0)}
}
.whatsapp-float svg{width:30px;height:30px;flex-shrink:0;display:block}
.whatsapp-float svg path{fill:currentColor}
/* REVEAL */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
/* RESPONSIVE */
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:640px){
  .nav{padding:1rem 1.5rem}
  .nav-links,.nav-cta{display:none}
  .burger{display:block}
  .nav.open .nav-links{
    display:flex;flex-direction:column;gap:1.2rem;
    position:absolute;top:100%;left:0;right:0;
    background:var(--cream);padding:2rem;border-bottom:1px solid var(--line);
  }
  .page-header,.section-pad,.cta-block{padding-left:1.5rem;padding-right:1.5rem}
  .section-pad{padding-top:5rem;padding-bottom:5rem}
  .page-header{padding-top:8rem;padding-bottom:4rem}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:1rem}
  .whatsapp-float{width:54px;height:54px;bottom:20px;right:20px}
  .whatsapp-float svg{width:28px;height:28px}
}