:root{
  --violet-1:#f7f3ff;
  --violet-2:#eee6ff;
  --violet-3:#d8c8ff;
  --violet-4:#b28cff;
  --violet-5:#8f5cff;
  --violet-6:#7a3cff;
  --violet-7:#5f2dca;
  --violet-8:#33145d;

  --ink:#1d1633;
  --bg:#fcfbff;
  --soft:#f6f1ff;
  --line:#ece5fb;
  --white:#ffffff;

  --primary:var(--violet-6);
  --primary-strong:#6f2fff;
  --primary-soft:#efe5ff;
  --glow:rgba(143,92,255,.34);
  --glow-strong:rgba(122,60,255,.24);

  --radius:22px;
  --shadow:0 14px 34px rgba(74,35,148,.12);
  --shadow-soft:0 18px 42px rgba(122,60,255,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height:1.6;
  font-size:16px;
}

/* Tipos */
h1,h2,h3{
  font-family:"Baloo 2", Inter, sans-serif;
  margin:0 0 .4rem;
}
.hero-title{
  font-size:clamp(2.2rem, 3.8vw + 1rem, 4rem);
  line-height:1.05;
}
h2{font-size:clamp(1.6rem, 1.5vw + 1rem, 2.2rem)}
a{
  color:var(--primary);
  text-decoration:none;
}
img{
  max-width:100%;
  height:auto;
  display:block;
}
.avatar{border-radius:50%}

/* Fondo general luminoso en violeta */
.theme-glow::before{
  content:"";
  position:fixed;
  inset:-20%;
  z-index:-1;
  pointer-events:none;
  filter:blur(14px);
  background:
    radial-gradient(42% 42% at 75% 10%, rgba(143,92,255,.17), transparent 60%),
    radial-gradient(36% 36% at 10% 10%, rgba(198,153,255,.16), transparent 60%),
    radial-gradient(42% 42% at 52% 88%, rgba(122,60,255,.14), transparent 60%),
    radial-gradient(26% 26% at 86% 26%, rgba(170,109,255,.10), transparent 60%);
}

.flowers-bg{position:relative}
.flowers-bg::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.18;
  background-repeat:no-repeat;
  background-size:260px, 220px;
  background-position:left -40px top -40px, right -30px bottom -30px;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23a78bfa' stroke-width='2'%3E%3Cpath d='M100 20c20 0 40 20 40 40s-20 40-40 40-40-20-40-40 20-40 40-40z'/%3E%3Cpath d='M60 110c30-10 50-10 80 0M40 130c45-18 75-18 120 0'/%3E%3C/g%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23a78bfa' stroke-width='2'%3E%3Ccircle cx='140' cy='60' r='32'/%3E%3Cpath d='M40 160c40-22 80-22 120 0M20 140c30-12 60-12 110 0'/%3E%3C/g%3E%3C/svg%3E");
}

/* Navbar */
.nav{
  position:sticky;
  top:0;
  z-index:40;
  backdrop-filter:saturate(1.1) blur(10px);
  background:color-mix(in srgb, #ffffff 84%, transparent);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:1200px;
  margin:auto;
  display:flex;
  align-items:center;
  gap:16px;
  padding:10px 16px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  font-family:"Baloo 2";
}
.brand img{
  width:34px;
  height:34px;
}
.brand span{
  letter-spacing:.2px;
  color:#111111
}
.nav ul{
  list-style:none;
  margin:0 0 0 auto;
  padding:0;
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.nav a{
  padding:10px 12px;
  border-radius:12px;
}
.nav a:hover{
  background:rgba(143,92,255,.08);
}

/* Botones */
.btn-primary{
  background:linear-gradient(135deg, #7a3cff, #9d63ff);
  color:#fff;
  padding:10px 14px;
  border-radius:14px;
  box-shadow:
    0 10px 30px rgba(122,60,255,.24),
    0 0 0 1px rgba(255,255,255,.12) inset,
    0 0 18px rgba(143,92,255,.18);
}
.btn-primary:hover{
  filter:brightness(1.05);
}

.btn-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:14px;
  border:1px solid rgba(122,60,255,.18);
  background:rgba(255,255,255,.62);
  color:var(--primary-strong);
  box-shadow:0 10px 26px rgba(122,60,255,.08);
  transition:all .25s ease;
}
.btn-outline:hover{
  background:rgba(143,92,255,.08);
  border-color:rgba(122,60,255,.26);
}

/* Contenedores */
.wrap{
  max-width:1200px;
  margin:auto;
  padding:clamp(28px, 4vw, 56px) 16px;
}
section{scroll-margin-top:76px}
.section{padding:72px 0}

/* Hero */
.hero{
  position:relative;
  overflow:hidden;
  padding:clamp(28px, 5vw, 64px) 0;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(62% 62% at 76% 10%, rgba(143,92,255,.15), transparent 65%),
    radial-gradient(40% 40% at 12% 12%, rgba(198,153,255,.16), transparent 60%),
    radial-gradient(44% 44% at 50% 88%, rgba(122,60,255,.12), transparent 60%);
  filter:blur(6px);
}
.hero-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  align-items:center;
  gap:28px;
}
.hero p{
  margin:12px 0 24px;
  font-size:1.05rem;
  color:#4d4467;
}
.hero-cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* Tag */
.tag{
  display:inline-block;
  font-weight:700;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(143,92,255,.10);
  color:#54417c;
  border:1px solid rgba(143,92,255,.12);
}

/* Pills debajo del hero */
.values{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  font-weight:700;
  color:#fff;
  background:linear-gradient(135deg, #6f2fff, #a061ff);
  box-shadow:
    0 14px 28px rgba(122,60,255,.18),
    0 0 0 1px rgba(255,255,255,.08) inset;
}
.pill:nth-child(2){
  background:linear-gradient(135deg, #7a3cff, #8f5cff);
}
.pill:nth-child(3){
  background:linear-gradient(135deg, #5f2dca, #9d63ff);
}
.pill:nth-child(4){
  background:linear-gradient(135deg, #8247ff, #b17dff);
}
.pill b{font-weight:800}

/* Nubes / blobs */
.blob{
  position:absolute;
  border-radius:50%;
  filter:blur(34px);
  opacity:.22;
  pointer-events:none;
}
.b1{
  background:rgba(196,136,255,.46);
  width:300px;
  height:300px;
  left:-90px;
  top:-70px;
}
.b2{
  background:rgba(143,92,255,.26);
  width:230px;
  height:230px;
  right:10%;
  top:22%;
}
.b3{
  background:rgba(122,60,255,.22);
  width:280px;
  height:280px;
  left:45%;
  bottom:-120px;
}

/* Hero landing nav */
.nav.landing{
  position:absolute;
  top:0;
  left:0;
  right:0;
  border-bottom:none;
  background:transparent;
  backdrop-filter:none;
}
.nav.landing .nav-inner{
  justify-content:center;
  gap:8px;
  flex-direction:column;
}
.nav.landing .brand{
  font-size:1.25rem;
}
.nav.landing .brand img{
  width:84px;
  height:84px;
}
.nav.landing ul{
  margin:0;
  justify-content:center;
}
.nav.landing .btn-primary{
  box-shadow:none;
}

/* Imagen recortada del hero */
.hero-cutout{
  position:relative;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  transform:translate(18px, 44px);
}
.hero-cutout-img{
  width:min(100%, 455px);
  height:590px;
  object-fit:cover;
  display:block;
  border-radius:42% 58% 38% 62% / 18% 18% 22% 22%;
  box-shadow:
    0 24px 50px rgba(65, 25, 120, .14),
    0 10px 24px rgba(122,60,255,.10),
    0 0 26px rgba(143,92,255,.10);
}

/* Card art y adornos anteriores */
.card-art{
  background:rgba(255,255,255,.92);
  border:1px solid var(--line);
  border-radius:22px;
  padding:22px;
  box-shadow:
    0 30px 80px rgba(122,60,255,.14),
    0 0 0 1px rgba(236,229,251,.75) inset;
  position:relative;
  overflow:hidden;
}
.card-art::before{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:-1;
  background:radial-gradient(60% 60% at 50% 30%, rgba(122,60,255,.10), transparent 70%);
}
.card-art::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-repeat:no-repeat;
  background-size:70px, 70px;
  background-position:12px 12px, calc(100% - 82px) calc(100% - 82px);
  background-image:
    url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYTc4YmZhIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgMTJtLTMgMGEzIDMgMCAxIDAgNiAwYTMgMyAwIDEgMC02IDAiLz48cGF0aCBkPSJNMTIgMmEzIDMgMCAwIDEgMyAzYzAgLjU2Mi0uMjU5IDEuNDQyLS43NzYgMi42NGwtLjcyNCAxLjM2IDEuNzYtMS44OTNjLjQ5OS0uNi45MjItMSAxLjI3LTEuMjA1YTIuOTY4IDIuOTY4IDAgMCAxIDQuMDcgMS4wOTkgMy4wMTEgMy4wMTEgMCAwIDEtMS4wOSA0LjA5OGMtLjM3NC4yMTctLjk5LjM5Ni0xLjg0Ni41MzVsLTIuNjY0LjM2NmwyLjQuMzI2YzEgLjE0NSAxLjY5OC4zMzcgMi4xMS41NzZhMy4wMTEgMy4wMTEgMCAwIDEgMS4wOSA0LjA5OGEyLjk2OCAyLjk2OCAwIDAgMS00LjA3IDEuMDk4Yy0uMzQ4LS4yMDItLjc3MS0uNjA0LTEuMjctMS4yMDVsLTEuNzYtMS44OTNsLjcyNCAxLjM2Yy41MTYgMS4xOTkuNzc2IDIuMDc5Ljc3NiAyLjY0MGEzIDMgMCAwIDEtNiAwYzAtLjU2Mi4yNTktMS40NDIuNzc2LTIuNjRsLjcyNC0xLjM2LTEuNzYgMS44OTNjLS40OTkuNjAxLS45MjIgMS0xLjI3IDEuMjA1YTIuOTY4IDIuOTY4IDAgMCAxLTQuMDctMS4wOThhMy4wMTEgMy4wMTEgMCAwIDEgMS4wOS00LjA5OGMuMzc0LS4yMTguOTktLjM5NiAxLjg0Ni0uNTM2bDIuNjY0LS4zNjZsLTIuNC0uMzI1Yy0xLS4xNDUtMS42OTgtLjMzNy0yLjExLS41NzZhMy4wMTEgMy4wMTEgMCAwIDEgLTEuMDktNC4wOTlhMi45NjggMi45NjggMCAwIDEgNC4wNy0xLjA5OWMuMzQ4LjIwMy43NzEuNjA0IDEuMjcgMS4yMDVsMS43NiAxLjg5NGMtMS0yLjI5Mi0xLjUtMy42MjUtMS41LTQgMyAzIDAgMCAxIDMtM3oiLz48L3N2Zz4="),
    url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYTc4YmZhIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgMTJtLTMgMGEzIDMgMCAxIDAgNiAwYTMgMyAwIDEgMC02IDAiLz48cGF0aCBkPSJNMTIgMmEzIDMgMCAwIDEgMyAzYzAgLjU2Mi0uMjU5IDEuNDQyLS43NzYgMi42NGwtLjcyNCAxLjM2IDEuNzYtMS44OTNjLjQ5OS0uNi45MjItMSAxLjI3LTEuMjA1YTIuOTY4IDIuOTY4IDAgMCAxIDQuMDcgMS4wOTkgMy4wMTEgMy4wMTEgMCAwIDEtMS4wOSA0LjA5OGMtLjM3NC4yMTctLjk5LjM5Ni0xLjg0Ni41MzVsLTIuNjY0LjM2NmwyLjQuMzI2YzEgLjE0NSAxLjY5OC4zMzcgMi4xMS41NzZhMy4wMTEgMy4wMTEgMCAwIDEgMS4wOSA0LjA5OGEyLjk2OCAyLjk2OCAwIDAgMS00LjA3IDEuMDk4Yy0uMzQ4LS4yMDItLjc3MS0uNjA0LTEuMjctMS4yMDVsLTEuNzYtMS44OTNsLjcyNCAxLjM2Yy41MTYgMS4xOTkuNzc2IDIuMDc5Ljc3NiAyLjY0MGEzIDMgMCAwIDEtNiAwYzAtLjU2Mi4yNTktMS40NDIuNzc2LTIuNjRsLjcyNC0xLjM2LTEuNzYgMS44OTNjLS40OTkuNjAxLS45MjIgMS0xLjI3IDEuMjA1YTIuOTY4IDIuOTY4IDAgMCAxLTQuMDctMS4wOThhMy4wMTEgMy4wMTEgMCAwIDEgMS4wOS00LjA5OGMuMzc0LS4yMTguOTktLjM5NiAxLjg0Ni0uNTM2bDIuNjY0LS4zNjZsLTIuNC0uMzI1Yy0xLS4xNDUtMS42OTgtLjMzNy0yLjExLS41NzZhMy4wMTEgMy4wMTEgMCAwIDEgLTEuMDktNC4wOTlhMi45NjggMi45NjggMCAwIDEgNC4wNy0xLjA5OWMuMzQ4LjIwMy43NzEuNjA0IDEuMjcgMS4yMDVsMS43NiAxLjg5NGMtMS0yLjI5Mi0xLjUtMy42MjUtMS41LTQgMyAzIDAgMCAxIDMtM3oiLz48L3N2Zz4=");
}

/* Beneficios */
.beneficios{
  background:linear-gradient(180deg, rgba(143,92,255,.05), rgba(143,92,255,.02));
}
.beneficios .list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.beneficios li{
  list-style:none;
  background:#fff;
  border-radius:var(--radius);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  padding:16px 18px;
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.fig{
  flex:0 0 42px;
  height:42px;
  border-radius:14px;
  background:linear-gradient(135deg, #7a3cff, #b17dff);
  position:relative;
  box-shadow:0 8px 18px rgba(122,60,255,.16);
}
.fig:after{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  background:rgba(255,255,255,.8);
}

/* Servicios */
.servicios .grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.svc{
  border:1px dashed rgba(122,60,255,.22);
  border-radius:20px;
  padding:18px;
  background:rgba(255,255,255,.9);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  position:relative;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(122,60,255,.06);
}
.svc::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg, #7a3cff, #b17dff);
  opacity:.9;
}
.svc:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(122,60,255,.12);
  border-color:rgba(122,60,255,.34);
}
.flag{
  position:absolute;
  top:14px;
  right:-40px;
  rotate:-15deg;
  padding:6px 40px;
  color:#fff;
  font-weight:700;
  background:linear-gradient(135deg, #6fffff, #a061ff);
  box-shadow:0 8px 20px rgba(122,60,255,.18);
}

/* Reseñas */
.reviews{
  background:linear-gradient(180deg, rgba(143,92,255,.05), rgba(143,92,255,.02));
}
.carousel{
  position:relative;
  overflow:hidden;
}
.track{
  display:flex;
  transition:transform .6s ease;
}
.review{
  min-width:280px;
  max-width:320px;
  margin-right:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:var(--shadow);
}
.stars{
  color:#8f5cff;
  text-shadow:0 0 10px rgba(143,92,255,.18);
}
.row{
  display:flex;
  align-items:center;
  gap:10px;
}

/* Footer */
footer{
  padding:40px 16px;
  color:#665b84;
}

/* Utilidades */
.mt-2{margin-top:.5rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

/* Aparición al hacer scroll */
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .6s ease, transform .6s ease;
}
.reveal.visible{
  opacity:1;
  transform:none;
}

/* Foto de inicio */
.intro-img{
  width:100%;
  border-radius:24px;
  display:block;
  box-shadow:0 30px 80px rgba(122,60,255,.12);
}

/* Feature */
.feature-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:24px;
  align-items:center;
}
.feature-text p{
  color:#4d4467;
  margin:10px 0 18px;
}
.feature-media{
  position:relative;
}
.feature-img{
  width:100%;
  border-radius:24px;
  box-shadow:0 28px 72px rgba(122,60,255,.14);
}
.feature-media .flower{
  position:absolute;
  width:68px;
  height:68px;
  opacity:.28;
  pointer-events:none;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'/%3E%3Cpath d='M12 2a3 3 0 0 1 3 3c0 .562 -.259 1.442 -.776 2.64l-.724 1.36l1.76 -1.893c.499 -.6 .922 -1 1.27 -1.205a2.968 2.968 0 0 1 4.07 1.099a3.011 3.011 0 0 1 -1.09 4.098c-.374 .217 -.99 .396 -1.846 .535l-2.664 .366l2.4 .326c1 .145 1.698 .337 2.11 .576a3.011 3.011 0 0 1 1.09 4.098a2.968 2.968 0 0 1 -4.07 1.098c-.348 -.202 -.771 -.604 -1.27 -1.205l-1.76 -1.893l.724 1.36c.516 1.199 .776 2.079 .776 2.64a3 3 0 0 1 -6 0c0 -.562 .259 -1.442 .776 -2.64l.724 -1.36l-1.76 1.893c-.499 .601 -.922 1 -1.27 1.205a2.968 2.968 0 0 1 -4.07 -1.098a3.011 3.011 0 0 1 1.09 -4.098c.374 -.218 .99 -.396 1.846 -.536l2.664 -.366l-2.4 -.325c-1 -.145 -1.698 -.337 -2.11 -.576a3.011 3.011 0 0 1 -1.09 -4.099a2.968 2.968 0 0 1 4.07 -1.099c.348 .203 .771 .604 1.27 1.205l1.76 1.894c-1 -2.292 -1.5 -3.625 -1.5 -4a3 3 0 0 1 3 -3z'/%3E%3C/svg%3E");
}
.feature-media .flower.f1{
  left:-22px;
  top:-22px;
  transform:rotate(-10deg);
}
.feature-media .flower.f2{
  right:-22px;
  bottom:-22px;
  transform:rotate(12deg);
}

/* Responsivo */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr}
  .beneficios .list{grid-template-columns:1fr}
  .servicios .grid{grid-template-columns:repeat(2,1fr)}
  .feature-grid{grid-template-columns:1fr}
  .hero-cutout{
    justify-content:center;
    transform:translateY(22px);
  }
  .hero-cutout-img{
    width:min(100%, 410px);
    height:520px;
  }
}

@media (max-width:640px){
  .servicios .grid{grid-template-columns:1fr}
  .values{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .nav.landing .brand img{
    width:68px;
    height:68px;
  }
  .hero-cutout-img{
    width:min(100%, 350px);
    height:440px;
  }
}



/* Página agenda */
.agenda-page{
  min-height: calc(100vh - 160px);
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Widget principal clickeable */
.agenda-widget{
  width:100%;
  min-height:60vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:40px 28px;
  border-radius:32px;
  text-decoration:none;
  color:inherit;
  position:relative;
  overflow:hidden;

  background:
    linear-gradient(135deg, rgba(255,255,255,0.78), rgba(244,236,255,0.88)),
    radial-gradient(circle at top right, rgba(155,107,255,0.18), transparent 35%),
    radial-gradient(circle at bottom left, rgba(111,47,255,0.14), transparent 35%);

  border:1px solid rgba(155,107,255,0.18);
  box-shadow:
    0 22px 60px rgba(111,47,255,0.10),
    0 10px 25px rgba(111,47,255,0.08),
    inset 0 1px 0 rgba(255,255,255,0.7);

  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.agenda-widget:hover{
  transform:translateY(-4px);
  box-shadow:
    0 28px 70px rgba(111,47,255,0.14),
    0 12px 30px rgba(111,47,255,0.10),
    0 0 28px rgba(155,107,255,0.14);
  border-color:rgba(111,47,255,0.28);
}

.agenda-widget-content{
  max-width:720px;
  position:relative;
  z-index:1;
}

.agenda-badge{
  display:inline-block;
  margin-bottom:16px;
  padding:8px 14px;
  border-radius:999px;
  font-weight:700;
  font-size:.95rem;
  color:#6a42e8;
  background:rgba(111,47,255,0.08);
  border:1px solid rgba(111,47,255,0.14);
}

.agenda-widget .hero-title{
  margin-bottom:12px;
}

.agenda-widget p{
  font-size:1.1rem;
  color:#5f5683;
  margin-bottom:24px;
}

.agenda-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 24px;
  border-radius:16px;
  font-weight:700;
  color:#ffffff;
  background:linear-gradient(135deg, #6f2fff, #9b6bff);
  box-shadow:
    0 10px 24px rgba(111,47,255,0.22),
    0 0 18px rgba(155,107,255,0.14);
}



.photos{
  position:relative;
  margin:60px auto 20px;
  min-height:720px;
  max-width:1400px;
}

.photo{
  position:absolute;
  width:420px;
  border-radius:18px;
  border:8px solid #fff;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  display:block;
}



.photo.p3{
  left:50%;
  top:250px; /* antes 360px */
  transform:translateX(-50%) rotate(-4deg);
}


.photos-spacer{
  height:150px;
}




.contact-form{
  max-width:600px;
  margin-top:30px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(111,47,255,.2);
  font-family:inherit;
  font-size:1rem;
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{
  outline:none;
  border-color:#6f2fff;
  box-shadow:0 0 0 3px rgba(111,47,255,.1);
}

.contact-form button{
  margin-top:10px;
  width:fit-content;
}